Bir geliştiriciyi ne yavaşlatabilir? [kapalı]


12

Bir şey bir geliştiriciyi yavaşlatma eğilimindedir?

Lütfen aşağıdaki yanıtları göndermekten kaçının:


@ Trak Trapp: Ha ?! Bu hiç de kopya değil ...: -S
Tamara Wijsman

1
Soru işe yaramazsa, yakın gelecekte kaldıracağım, insanlar zaten benden başka bir sorunun kapsadığı dikkat dağıtıcı şeyleri listeliyor. Bu yüzden dikkat dağıtıcı olmayan şeyleri arama eğilimindeyim ... TheQ ve Bill iyi örnek cevaplar.
Tamara Wijsman


Soruyu açık bırakmayı
seçti

11
Stackoverflow, SuperUser, Programcılar ... evet, temelde bunun gibi siteler :)
bedwyr

Yanıtlar:


49

Oh bu kolay olanlar:

  1. Toplantılar
  2. Diğer Toplantılar
  3. Son toplantı hakkında toplantılar
  4. Önümüzdeki toplantıya hazırlanacak toplantılar
  5. Bir toplantı için power point sunumu geliştirme
  6. Uygulanmayan, uygulanmayan özellikleri ve satıştan bu kişinin her nedense atlayacağını tartışan bir toplantı için bir power point sunumu geliştirmek. İnternet bağlantısı veya sabit sürücünüze erişiminiz olmadan geçerli konumunuza bağlı olarak uygulamada hangi belgenin görüntülenmesini istediğinizi tahmin edemiyorum. Hayır, gerçekten de bunu istemekten vazgeç.

4
kısaca: yönetim? ; o)
n1ckp

11
@ n1ck Hayır, hayır. İyi yönetim bir geliştiriciyi hızlandırabilir. Bir programcının zamanlarının yetersiz programlanması (yani yönetici olmanın bir yönü) gelişimi gerçekten yavaşlatabilir.
vahşiler

3
Şirketim bunu yaptığında beni öldüren şey: Toplantılar, Daha Fazla Toplantı, Son Toplantı ile ilgili Toplantılar, Hazırlık Toplantısı, Neden hiçbir şey başaramadığımızı tartışmak için. Neden hiçbir şey başaramıyoruz? Sizi dinleyen bir odada oturan kırk geliştiriciniz var !!
Mike M.

2
Bu cevabın neredeyse bir Powerpoint slaydına sığacağını lütfen unutmayın .

44

Burada aynı sorun
pramodc84

1
Kendime en kısa sürede bir dizüstü bilgisayar satın alırdım ve bu durumda olsaydım, şirketin izin verdiğini varsayarak üzerinde çalışardım.
adamk

Yavaş bilgisayarlar dikkat dağınıklığının temel nedeni olma eğilimindedir. Programcı her beklediğinde dikkat dağıtma moduna girebilir ve bir süre sonraya kadar programa geri dönmeyecektir.
edA-qa mort-ora-y

Birkaç hafta önce bilgisayarımı değiştirdiler. Yerine koyduğu 4 yaşındaki olandan daha az güçlü. Güzel.
MetalMikester


25

StackOverflow, programcılar.stackexchange.com vb. :)


4
Katılmıyorum! StackOverflow sorunları çözmeye yardımcı olur, böylece gelişimi hızlandırır!
Sihirbaz

3
Saldırgan sersemlik. SO'ya 'boşa harcadığım her dakika için beni geri aldı. 20
MIA

11
+1. hiç rahatsız edici değil. SO erteleme için çok iyidir. Bu benim yeni facebookum. :)
back2dos

@ back2dos Lütfen SO'nun harikaluğunu facebook ile karşılaştırmayın.
adamk


15

Eldeki göreve uygun olmayan bir süreci izleme girişimleri.

Bu her türlü şey olabilir, ancak gördüğüm yaygın olanlar şunları içerir:

  • test edilen koda uymayan test yöntemleri
  • teslim (ler) den daha çarpıcı bir şekilde daha çevik veya geleneksel
  • seçilen araç setinden farklı bir araç seti için tasarlanmış yönergeler
  • projenin ihtiyaçları ile ölçeksiz tasarım ilkeleri
  • göreve uygun olmayan bir araç seti kullanma

Tüm bunlar bazı projelerde veya bazı durumlarda son derece değerli olabilir, ancak bazı kuruluşlar her şeyi tek yönlü yapmaya çalışır ve bu da genellikle üretkenlik ölümü olan diğer projelere zayıf uyum sağlar.


13

Siyaset

Örneğin: Birden fazla kişi gereksinimlerin (veya daha kötüsü, iki farklı kazanılmış menfaatin) sahibi olduğunda ve gelişme devam ederken gereksinimler üzerinde birbiriyle çelişen ve çelişen değişiklikler yaparlar.


9

Başkalarının konuşmaları

ve genel olarak gürültü

Birçok cevap bağlam değiştirme ve bölgeden çıkma hakkında konuşuyor ve gürültü, özellikle konuşma, benim için olanlara yol açan şeylerden biri.

Küp dünyamda, her tarafta gürültü ve konuşma ile çevriliyim. Bir satır üstte, ana bilgisayar ekibi küp sırasında sürekli planlama toplantıları düzenler. Bazen, duvar boyunca bir ofiste danışmanlarla buluşurlar ve bu yüksek sesli hootin ve hollerin ve gülmeye yol açar ve ben de gidip kapılarını kapatmalarını istemeliyim.

Öte yandan, web ekibi konferans masası batı küp duvarımın diğer tarafında, bu yüzden her toplantının bir parçasıyım, beğen ya da beğenme. Güney küp duvarının diğer tarafında da bir yazıcı var ve bu, çıktılarını beklerken takılan insanlardan chit-chat için her zaman iyidir.

" Gürültü önleyici kulaklıklar alamıyor musunuz? " Sorusunun hemen yanıtı, istediğiniz şey sessizlik olduğunda işe yaramaz.

Bazen kod incelemeleri için, kağıt yığınımı öğle yemeğine götürüyorum (öğle yemeğinde değil, elbette), ama orada genellikle blaring olan bir TV var. Kimse izlemiyorsa kapatacağım. Aksi takdirde, binanın başka bir bölümünde başka bir bölümde boş bir küp bulacağım.

Programcılarınızın yapmaları gereken işi yapmasını istiyorsanız, bu da ağırlıklı olarak düşünmek, düşünmek ve düşünmek, bunu yapabilecekleri bir ortama ihtiyaç duyarlar.


Bazen bulunduğum yerde çok sessizleşiyor. Herkesin fare tıklamaları ve ağır nefes alan insanlar vb. Üzerine odaklanmaya başlıyorum ... Yatakta yatmak ve bir kriket duymak gibi.
kirk.burleson

8

Yeterli test yapılmadan çok fazla kod satırı yazmak.


Bu, tecrübelerimin durmasına neden olan şeylerin bir numaralı sebebidir.
Paddyslacker

1
@Paddyslacker: daha fazla test = daha üretken mi? Ha? Sadece ilk etapta programlamada olmaması gereken insanlar için. Test faydalı olabilir ama "durma noktasına taşlama şeylerin bir numaralı nedeni"? Ciddi misin?
n1ckp

1
@ n1ck: Evet, ciddiyim. Kod, sürdürülemez bir duruma girer ve kod tabanının test edilememesi ve test edilebilirliği, her yeni özelliğin eklenmesi gittikçe zorlaşır. Daha fazla test yazan kişilerin "ilk etapta programlamada olmaması gerektiğini" düşündüğünüzü eğlenceli buluyorum. Öyleyse Roy Osherove, Michael Feathers, Bob Amca, Kent Beck vb.
Paddyslacker

@Paddyslacker: Bilmiyorum. Hiç kod görmedim. Belki yönetiminizde açıklamanızdan daha iyi olmalılar? Ve testin tam olmaması nedeniyle kod neden sürdürülemiyor? Test belki kötü bir tür büyü tarafından kötü kod yapmak?
n1ckp

1
@ n1ck, testler kodu ilk olarak yazarken ödeme yapmaz, ancak kodu daha sonra korumak zorunda kalırken büyük bir fark yaratır.

5

Yüksek kaliteli kahve eksikliği.


Ya da iyi soda eksikliği. Ben çok kafeinsiz diyet kiraz kola özledim! Ülkemde sadece diyet kola veya kafeinsiz kola alabilirim ve kiraz kola hiç alamayacağım :-(
Büyücü

1
@ Sihirbazı - Diet Cherry Coke sağlayan bir şirkette çalışmak için kullanıyorum. Neden gittiğime emin değilim. Acını hissedersen.
JeffO

2
@ Sihirbaz: sadece bir kavanoz maraschino kirazı alın ve şurubun bir kısmını içeceğinize ekleyin. Şimdi istediğiniz kadar güçlü yapabilirsiniz ... (vanilya için aynı hile: gerçek vanilya kola önceden karıştırılmış şeylerden çok daha üstündür)
Shog9

@Bay. C: Sorun, ülkemde bulunmayan bir kombinasyon olan diyet + kafeinsiz koka ihtiyacım var.
Sihirbaz

5

kalkınma başladığında ortaya çıkmaması gereken mükemmel tahminler yapmak zorunda kaldığımda, bence bir tavuk yumurtası senaryosu


Çok fazla karşılaşırsanız, tahmin üzerinde çalışmak için önemsiz bir zaman geçirmenizi öneririm. O zaman cevaplayabilirsiniz "eğer bu bir tahminse, tanımı gereği gerçekte ne kadar süreceği değil".
MIA

oh bunu daha önce kullandım, tepki her zaman tahmin etmede kötü olduğumdur, eğer görünür 2-4 saat görevlere
bölünemezse,

5

Başkasının kırık yapısını düzeltme


Birisi meslektaşına iyi rehberlik etmiyor gibi geliyor
Görünen Ad

@bold: doğal olarak asenkroniklikten olabilir. Günlük derleme kapanış saatinin 05:00 olduğunu ve en son sürümü saat 09'da aldığınızı varsayalım. (Başka bir deyişle, insanların erken çalışmaya gelmesini durduramazsınız.)
rwong

4

Gündemi olmayan toplantılar.

Yavaş bir makine.

İkinci bir monitör eksikliği.

Güzel yenileri yerine topu olan eski bir fare.

Makinede internet erişimi eksikliği, MSDN / stackoverflow / vb sorgulama bir acı biraz yapma.


Gündem toplantısı ile ilgili olmayan toplantı korsanının. Bilirsiniz ... bir saat boyunca takvime koydunuz, ancak konu 20 dakika içinde tamamlansa bile, o adam 20 dakikayı doldurmak için başka konular bulmaya devam ediyor. Seni oylarım, ama sonra yavaşlama olarak "ikinci bir monitörün olmaması" konusunda seni aşağılamak zorunda kalırdım. Bu uygun, ama zaman zaman sahip olmama beni yavaşlatmadı.
MIA

4

Programlama için çok fazla zaman harcadı

Programlamayı gerçekten sevseniz bile, üzerinde çok fazla zaman harcamak sonunda sizi yakacak ...


4

Sizi "bölgeden" uzaklaştıran her şeyden kaçının. Bu, e-posta gelen kutunuz, twitter pop-up uygulamanız, kurumsal sohbetiniz vb. Anlamına gelir.

Sessiz bir çalışma koşullarına sahip olmak , masaüstü gürültüsünden de kaçınmak demektir .


3

Önceden biliyor olsaydınız, uygulanması daha kolay olacak herhangi bir değişiklik isteği.


"Su üzerinde yürümek ve bir spesifikasyondan yazılım geliştirmek her ikisi de dondurulmuşsa kolaydır"
back2dos

1
Aptalca teklif. Buz üzerinde yürümek her zaman kolay değildir.
Peter Boughton

1
@Peter Boughton: Dalgalanan özelliklerden yazılım geliştirmenin zor ve donmuş olanlardan yazılım geliştirmenin kolay olduğu bir ölçek seçersek, buzda yürümek her zaman kolaydır. 6 yaşında bir çocuğa bunu yapmayı öğretebilirsiniz. Ama sanırım bunu biliyorsunuz, sadece akıllı değerlendirmeden zevk alıyorsunuz.
back2dos

Ayrıca altı yaşında bir çocuğa dalgalanan özelliklerden de çalışmayı öğretebilirsiniz. Akıllıca değil, bu gibi tırnakların aşırı kullanımında tahriştir, ki bu yararlı değildir. Dondurulmuş özelliklerin yanlış olması durumunda gelişmesi kolay değildir (düzeltilemedikleri için) ve önceden hangi parçaların akışta olduğunu biliyorsanız (buna göre hitap edebileceğiniz gibi) değişen özellikler iyidir.
Peter Boughton

3

Kötü kod.

İlk etapta işi başarabilen bir başkasının yeniden yazılması, hayal edebileceğim en büyük zaman lavabosu.


2

Slow Slow Çok bunun için iyi bir blog yazısı.

...

Birçok proje, temel altyapı düzeyindeki özellikleri defalarca tekrarlar ve işi rakiplerinden ayıran özellikler sunarken bu işi yavaşlatır.

...

Ürünlerin ve yeniliklerin geliştiricilerin farklılaşmayan görevlere harcadıkları zamanı azaltmaya yardımcı olması kaçınılmazdır. Soru, bu hizmetlerin ve araçların ne biçim alacağıdır.

...


+1: Harika cevap. Bir işten ayrıldım çünkü şirket teknik borcu azaltmak için zaman ayırmak istemiyordu. Geliştiriciler "temel altyapı düzeyindeki özellikleri defalarca tekrarlamak zorunda kaldılar."
Jim G.

2

Son zamanlarda en büyük yavaşlama, belirli bir sırayla yapılması gereken birkaç şeyi eşzamanlı olarak geliştirmemizdir. Bu yüzden bekliyorum (masumları korumak için isimler değişti) John, SSIS paketim için ihtiyacım olan bileşenini bitirdi ve Harry, kayıtları içe aktarmamı beklerken yavaşladı çünkü ihracatını test etmek için bazı verilere ihtiyaç duyuyor tabloların hiçbirinde veri olmadığında karmaşık bir dışa aktarma raporu yazmak için?) ne olacağını söyledikleri gibi.


1
İşi ekip üyelerine çok ince bir şekilde yaymanın yol açtığı darboğazlardan bahsettiğiniz anlaşılıyor.
MIA

1
Ekip çok az yayılmış değil, ama yönetim projelerin atanmasındaki bağımlılıkları düşünmedi. Ve diğer insanların projeye atadığı noktada hazır oldukları varsayılan şeyler, insanlar onları gerçekten kullanmaya çalıştığında değildi.
HLGEM

2

Bunun gibi stackexchange.com'daki soruları yanıtlıyor.


Öyleyse dokunma yazma becerilerinizi geliştirmeyi düşünebilirsiniz.

2

Dikkat dağıtıcı şeyleri listelememenizi isteseniz de, bunlar büyük bir faktör olabilir. Çalışma ortamlarına bakın, sık sık kesintiye uğrayıp uğramadıklarını kontrol edin veya projeyle ilgili olmayan başka şeyler yapmalarını isteyin.

Bazen bir geliştirici, daha önce hiç yapmadıkları bir şeyi yaptıkları için takılabilir ve nereden yardım arayacaklarını bilmezler. Küçük bir ekip veya bireyse, daha da zor olabilir. Biraz gururlu olma eğilimindeyiz ve bir şeyleri nasıl yapacağımızı bilmediğimizde itiraf etmeyi sevmiyoruz. Ayrıca, başkalarından yardım istemekten hoşlanmayız. Bir geliştiricinin bunu kabul etmesinin kolay bir yolu yoktur, ancak son tarihi karşılayıp karşılamadıklarını veya son başvuru tarihine uymak için neye ihtiyaç duyduklarını sormak ve daha sonra dürüst olacaklarını ummak dışında. Başka yardım getirmek veya onlara yardımcı olabilecek birini bulmak için teklif vermeniz gerekebilir.

Açıkça tanımlanmış gereksinimlerin olmaması, bu da bir şeyleri anlamalarına veya karar vermelerine neden olur.


2
  • Bilgisayarın kullanılabilir duruma gelmesi için yaklaşık 15 dakika beklemek zorunda
  • PC'nin uygulamalar arasında geçiş yapması bekleniyor
  • Ofiste kendi çayını / kahvesini yapmak zorunda olan tek kişi olmak.
  • Kırık bir klavye (sabit!)
  • Genel Müdürün (ABD CEO'su) ofisinin dışında (ve bir ofiste değil) çalışmak, aralarında yalnızca bir bölüm olmak üzere (özellikle bir toplantı olduğunda)
  • Patron sadece e-posta ile ulaşılabilir, ancak herkes binada
  • VCS kullanmasına izin verilmiyor - görünüşe göre beynimde olmalı
  • Küçük ekran
  • Öğle yemeği dışındaki molalara zaman ayırmamak
  • Binada bir sistem yöneticisi olmasına rağmen uzak sunucu yedeklemeleri yapmak zorunda
  • Söz konusu yedeklemeleri manuel olarak yapması söyleniyor.
  • Gereksiz derecede karmaşık olan aptal bir zaman yönetim sistemi kullanmaya zorlanmak
  • İşe sadece iki ayın gereksinimleri hakkında belirsiz bir fikir vermek

Devam edebilirdim, ama Cuma ve işi unutmak istiyorum.


Oradan çıkmanız gerekmiş gibi görünüyor!
adamk

2
  • Doküman eksikliği (Sistem, Şirket vb.)
  • Yorumlanmış kod eksikliği
  • Sistemin eksik anlaşılması
  • Politika (yani gereksiz toplantılar, evrak işleri, yönetimin önündeki engeller ...)
  • Eksik gereksinim belgeleri
  • Facebook!
  • Çok mu uyku?

1

Projede çok fazla insan var.

Yönetimin, projeye daha fazla kişi eklemek için ihtiyaç duydukları gerçek verilere dayanmadan karar verdiği birkaç kez gördüm. Bu, neler olup bittiğini çok az bilen insanların ellerini tutmak için her şeyi durdurmaya ihtiyaç duyduklarını bilen kişi olarak sona erer. Birden fazla proje mantar gördüm ve sonra oradan hızla tuvalete gitmek, oysa iyi gidiyordu önce, belki biraz yavaş olsa da.

Bu yüzden, bir ay geç kalmaktan, yeterli hızdan / hiç teslim etmemeye çok fazla şey yapmaktan geçiyorsunuz, çünkü tüm bu ekstra insanlara bütçeyi tamamen patlattınız.


0

Başkaları tarafından belirtilenlerin dışında, kodunuzu derlemeye ve çalıştırmaya karar vermenin ve olumlu / olumsuz bir sonuç almanın uzun yolu . İdeal olarak, bu RTT sadece bir saniye olacaktır, ancak saatlere bir örnek gördüm. BTW, birim testi bu sorunla baş etmeye çalışıyor.

Bununla ilgili bir diğer konu ise çalışma ortamınızın genel bir gecikmesidir . Dünyanın diğer tarafındaki bilgisayara uzak masaüstü bağlantısı, ürkütücü bir bağlantı üzerinden çalışmanız gerektiğini düşünün. Ben orada oldum. Bundan nefret ettim.


0
  • Aşırı evrak işleri

  • Asla etrafta olmayan birine bağımlı olmak (patronunuz gibi - bir soru sormanız gerekiyor, ancak her zaman toplantılarda bulunuyorsa)

  • Yetersiz araç ve gereç.

  • Küreklerini sebepsiz yere iten insanlar (UI-görünür herhangi bir değişiklik buna tabidir) veya sadece önemsiz şeyler hakkında savurmayı tartışıyorlar.

  • Kırık kahve makinesi

  • Yanlış görevlerin atanması


0

Klima çalışmıyor.

Böylece ofisteki sıcaklık kışın -5 yazında 40 dereceye kadar çıkıyor.

Eldiven ve tip giyemediğim için -5 yazmak için iyi değil. 40, düşüncemi yavaşlatır.


0

Bu son derece kişisel ve belki de tartışmalı bir fikirdir, ancak ön tasarım veya "kalite" kodu yazma hakkında çok fazla planlama ve düşünme. Bazı durumlarda doğru olabilecek "haftalarca kodlamanın size saatler süren plandan kurtarabileceğini" söyleyen bir şey var.

Ancak sık sık programcıların kodlamaya başlamadan önce iyi bir tasarım çizmeye çalıştıklarını görüyorum. Kendimi sadece "gitmenin" daha kolay olduğunu düşünüyorum, programladıkça probleminiz ve çözümünüz hakkında daha fazla bilgi edineceksiniz, bu da çözümünüzü hızlı bir şekilde iyi bir tasarıma dönüştürmenizi sağlayacaktır. Ortaya çıkan sorunların çoğu kodlamanın başlangıcında (en azından zayıf aklımdan) hemen hemen bilinmemektedir, bu yüzden ön tasarımı çok fazla zaman harcamak sadece zaman kaybıdır.

Bu yüzden TDD'yi sevmiyorum, testler yazmak için çok fazla zaman harcıyorsunuz, bu da sizi yeniden düzenleme olasılığınızı azaltıyor veya testleri yeniden yazmak için çok zaman alıyor. Birim Testleri, bazı durumlar ve bir projenin bazı aşamaları için mükemmeldir, ancak birinin başlangıcı bunlardan biri değildir IMHO :)

Bir şeyin hızlı çalışmasını sağlayın ve geliştirin.


-1 Düşüncelerinizi anlayabiliyorum, ama tasarım aşamasının amacı yeniden düzenleme ihtiyacını sınırlamak. Ayrıca, çalışan bir şeyin kırılmamasını ve serbest bırakılmamasını sağlamak için her zaman harika olan birim testini kolaylaştırır. Herhangi bir planlama yapmazsanız, kaçınılmaz olarak kötü yapılandırılmış kodun ne olacağını korumak zorunda kaldıklarında, herkesin işini zorlaştıracaksınız.
adamk

Kim kötü mimariye sahip olacağını söylüyor? Sadece aşırı bir tasarım aşaması istemediğinizi ve bir proje sırasında kalite koduna ulaşmak için çok sayıda yeniden düzenleme ve yeniden mimarlık yapmanız gerektiğini söylüyorum. Öte yandan, bunun çalışması için farklı insanların birbirlerinin kodlarında mutasyona uğramadıkları kod sorumluluklarını açıkça belirtmeniz gerekir.
Homde

Deneyim, kötü mimariye sahip olacağını söylüyor. Pantolonunuzun koltuğuyla uçmak ve kovboy kodlaması muhtemelen geliştirme sırasında yapabileceğiniz en kötü şeydir. Bir hafta sürecek bir tasarım aşamasına sahip olmak, size aylarca programlama kazandıracak ve ilk kez olması gereken şeyi yapan koda yol açacaktır. TDD arkasındaki fikir olduğunu yok testleri değiştirin. Bu testler gerçek dünyadaki kullanılabilirliği taklit etmek içindir ve kodunuz testi bitiremezse, kodunuz yanlıştır.
Mike S

Deneyimlerim aksini söylüyor, ama sanırım kovboy ve takıma bağlı :) Bir haftalık kodlama ile daha fazla şey öğrendim ve bunun için göstermek için bazı kodlar yaptım. Elbette, aşırı ve sürekli yeniden düzenleme yapmazsanız ve devam edecek kadar çevik bir takım / kovboyunuz varsa kötü mimariye sahip olacaksınız. Bir "tasarım aşaması" yapabileceğinizi, her şeyi öğreneceğinizi ve ilk seferde doğru yaptığınızı düşünmek sadece naiftir. Bir prototipin gerçek değeri öğrendiğiniz derslerdir, onu fırlatıp doğru yaparsınız. Bunu birden çok kez ve hızlı yapın :)
Homde

0

Programcı Bloğu : Diğer yavaşlamaların aksine, bu sorunun çözülmesi daha zordur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.