Birisi ne zaman kötü bir programcı olarak kabul edilir? [kapalı]


57

Bir programcının yaptığı şeyde kötü olduğunu nasıl düşünürsünüz?

Mümkünse ... Nasıl gelişmeli?


3
Çünkü söylenen kişi programlama ile ilgili bir web sitesinde cevapları kabul etmemektedir. Şaka :-)
Daniel

1
@EvanKroske: Hayır, bu doğru değil .... Topluluk Wiki, yayınların birlikte düzenlenmesini sağlamak için var. Ayrıca bakınız: Meta'mız - Etiket: community-wiki
Tamara Wijsman

Bir çok soruda, tek bir cevabı kabul etmek imkansızdır. Ayrıca bakınız: Meta'mız - Arama: kabul
Tamara Wijsman

Her soru soruna cevap veren bir cevabı alamaz.
Loren Pechtel

Yanıtlar:


134

Hatalarından ve meslektaş eleştirilerinden ders almakta başarısız olduklarında.

Bir noktada hepimiz yeşiliz; Ancak, iyileşmiyorsanız veya iyileşmeye çalışıyorsanız, o zaman kötü bir programcısınız.


4
Anlaştık - Her zaman hatalarından ders alarak bir geri besleme döngüsü almalısın.
Marcel Lamothe

1
@ PSU iyi dedi. Tıpkı herhangi bir zanaat gibi, programcılar da esnaf ve mükemmel değiller, daima öğreniyorlar, ancak hatalardan ders almazsanız zanaatınızda gelişmiyorsunuzdur.
Chris

2
Bu çok geniş bir tanım; programcılar ile sınırlı değildir. Bilim adamları, aşçılar, sporcular, çevirmenler, kapıcılar, fotoğrafçılar ve gerçekten her meslek için geçerlidir.
RegDwight

13
Herkes en az haftada bir kere morondur.
MIA

@RegDwight: ve amacın ...?
SamB

125

Ne bilmediğini bilmeyen ve öğrenmek için hiç ilgilenmediği bir programcı.


16
Bunu 100x 'e yükseltebilseydim, yapardım. Biraz alçakgönüllülük ve öğrenmek için açlık, uzun vadede çok şey yaratır.
William Pietri

1
Ngu ve William için de + 1. Bu kötü bir "programcının" en tipik kriteridir.
fabrik

Bir LOT bilmediğinizi ve denediğiniz kadar zor olmadığını bildiğiniz zaman ne olduğunu asla bilemeyeceksiniz?
Steven Evers

@snOrfus, sen ... öğretmek için bir rehber bulmak

75

Büyük bir uyarı işareti, eğer bir "kargo kültü" programcısıysa - yani bir şeyleri yaptıkları anlamına gelir, ancak bu şeyleri neden yaptıklarını bilmiyorlar (sadece "sihir"). Eric Lippert tarafından Büyük yazılan buraya .

Makaleden:

Kodun ne yaptığını anlayan, ancak nasıl yaptığını anlamayan programcılar.

3
* ve bir süredir bu teknolojiyi
Joe Phillips

5
Bu, Java / Spring veya Ruby on Rails gibi çerçevelerle bazı web geliştirmeleri yapan hemen hemen tüm programcılar için geçerli olacaktır. Bu çerçeveler, normal programcıların genellikle anlamaya zahmet etmedikleri kara büyülerle doludur.
missingfaktor

3
@Missing Faktor - ve dolayısıyla, bunu yapan çoğu programcının harika programcılar olmadığını söylemek yanlış olmaz :)
seanmonstar 15:10

14
Bir kez daha, programcıların çerçevenin, sanal makinenin iç kodunu veya ne üzerine bir kod oluşturduklarını tam olarak anlamaları gerektiğini varsaymak gerçekçi değildir. (Ya da gerçekten, tamamen metal ulaşılana kadar aşağıdaki soyutlama katmanlarının ayrıntıları .) En alakalı kısımları bilseniz bile, mükemmel ve verimli bir programcı olabilirsiniz.
Jonik

4
Faktor @Missing: onlar kütüphanelerin iç bölümü anlamak ve onlar tam kullandıkları çerçeveler, ancak en azından her şey bilmelisiniz olmayabilir onların kodunu şudur: "frobber popüleri için", "dokümantasyon bu olduğu belirtildiği için uzay-zaman sürekliliğinin bütünlüğünü korumak için gerekli ", vb.
SamB

45

Benim için büyük bir ipucu, size veya diğer programcılara, kendi başlarına çözmek için kesinlikle sıfır çaba sarf ettiklerini açıkça gösteren soruları sormalarıdır.

Bunun bir sonucu, aynı programlama sorusunu defalarca sormalarında, bilgiyi içselleştirmediklerini belirten bir durumdur.


Ah evet, onunla çalıştım. Neyse ki geçmiş zaman.
Mike Woodhouse

1
Bazıları düzgün sorular oluşturamaz, "düzeltmeni" ister
deltreme

21

FizzBuzz problemini çözmek uzun zaman alırken.


1
İyi programcılar olma potansiyeli olan bazı yeni başlayanlar olabileceğini düşünüyorum.
JD Isaack,

2
Yeni başlayanlar için iyi bir program oluşturmayı planlayan bir programcı arıyorsanız, yeni başlayanlar iyi. Ancak bu sorun çok önemsizdir, hiçbir zaman hiçbir deneyimi olan kimseyi yazmak istememelidir.
Matt DiTrolio

8
Bir giriş seviyesi programlama dersini başarıyla bitiren birisinin bu sorunu çözmek için çok zaman almaması gerektiğini savunuyorum.
EpsilonVector

4
Yeni başlayanlar FizzBuzz'ı çözemezse, programlama işlerine başvuruda bulunmamalıdır. Programlayabileceğinizi iddia ediyorsanız (örneğin bir programlama işine başvurarak), FizzBuzz'ı çözebilmelisiniz.
Chinmay Kanchi

1
FizzBuzz'daki Stackoverflow sorusu bir bakıma değer. Bölünme ya da modül kullanılmayan python çözümünü inceleyin. stackoverflow.com/questions/437/…
Gordon

21

Yeni teknolojiler / diller öğrenmeyi reddeden ve bildikleri şeye bağlı kalmakta ısrar eden programcılar.


Zeyilname: (Yorumlara aşağıda belirtilenlere çizgi eklenmesi)

Bunun bir uzantısı, bazı teknolojilerin işlevselliğinin bir alt kümesini bilen ancak bunun hakkında daha fazla bir şey öğrenmek istemeyen insanlardır. Programlama dili, editör, diğer araçlar ...


6
... ve iyi sebeplerden dolayı eklemeliyim.
missingfaktor

18

Bir ekip üyesi negatif üretici geliştirici olduğunda .

|# Lines Written| - |# Lines of bugs introduced| - |# Lines of rework required| < 0

Yani, ekibin geri kalanının kötü geliştirici nedeniyle daha fazla iş yapması gerekiyor. NNPP


1
Katılıyorum - bu insanlar takımlarına aşırı derecede zarar verebilir.
Marcel Lamothe

44
Huh ... Dün 500 satır fazlalık kodu kaldırdım ve hatalar yayınlamadım. LOC Metrikler Zararlı Görüyor?
Piskvor

5
Çoğu metrik berbat ve LOC metrikleri genellikle daha işe yaramaz. Buradaki nokta, kötü bir programcının ekip için tamamladığından daha fazla iş yaratan kişi olduğu.
danivovich

5
LOC metrikleri işe yaramaz değil. Onlar zararlıdır. Ayrıca, çoğu dilde LOC sayımı çok zordur. Ancak, metrik burada mesele değil. Sadece diyor | Yaratmak için çalışmak | - | Yanlış olan iş | - | düzeltmek için çalışmak | ... yani eğer 10 saat sürdüyse, 6 saat geçirdiniz, nihayetinde düzeltilmesi gereken bir şey üzerinde çalıştınız ve bunun için 6 saat daha sürdüyseniz, o zaman -2 saatsiniz. Zaten zaman almaya çalıştığın şey zamandır.
MIA

1
LOC metrikleri, kaç yerde böceklerin saklanmaları gerektiğini ölçmenin harika bir yoludur.
SamB


15

Bildikleri zaman bir şeyler yapmanın daha iyi yolları vardır fakat zaman elverdiği zaman bile yapmayı reddederler.


Ancak “neyin daha iyi” olduğuna dair uzman anlaşmazlıkları olabilir.
DarenW

@DarenW - Birinin kötü bir programcı olduğunu söyleyemem çünkü tartışmalı bir konuyu ele aldılar, ancak kendi akıllarında kesin bir seçim yaptıklarında.
JeffO

15

Şahsen ben bir süre önce yazdıkları kendi kodlarına bakabilen ve yanlış bir şey bulamayan herhangi bir programcının iyi olmadığını düşünüyorum. "Bir süre" deneyimle ölçeklendirebilir ... Birkaç hafta ile bir yıl arasında.


5
Ya yanlış bir şey bulamazlarsa ve bu onları endişelendiriyorsa?
SamB

1
Ya da daha kötüsü, yanlış bir şey bulamazlar ve düzeltmeye çalışırlar.
Toon Krijthe

15

Kodlarındaki uyarıları görmezden gelen ve yalnızca hatalara önem verenler.


14

Ufacık bir dükkanda ekip lideriyken, atamam gereken birkaç millet vardı (ne ben ya da doğrudan amirimin tonlarca bürokrasi ve bir yığın belge olmadan fesih yapma yetkisi vardı .) Ya da sözleşmenin yenilenmesi yoktu. Mevcut sözleşmenin sonunda. Numaralanan türlerin bazıları diğer takım liderleri için de işe yaradı ve hemen hemen aynı görüşü aldılar. İnsanları kitabımda "Kötü Programcı" kategorisine sokan şeyler:

  1. Geçmişte öğrenilemeyen veya Ossified
    'Programcı' ne olursa olsun, eğitim / eğitim nasıl yapılırsa yapılsın yeni sistemi, yeni aracı veya ne şekilde kullanılıyorsa onu kullanamayacak gibi görünüyor. Bu eğitimi sık sık tekrarlamak zorundadır.
    'Programcı' sadece 10 ya da 15 yıl önce kullandıkları teknolojiyi ya da kodlama paradigmasını bildiğinde. O zaman yeterince iyiydi, neden değişsinler ki?
  2. Kovboy kodlayıcı
    Bir plan yapmadan önce kodlayan kişi. Üretim kodunda ve / veya verilerinde test edilmemiş değişiklikler yapan "programcı", "şimdi düzeltmeliyiz" ve "düzeltme" başarısız olduğunda şaşırır.
    Kovboy da kesinlikle bir takım oyuncusu değil. Kötü bir takıma ihtiyaç duymaz.
  3. Rüzgar gülü
    Bu 'programcı', "teknoloji du jour " ile doludur ve her yeni çerçeveyi, dili, metodolojiyi veya yeni ve sıcak olanı görür.
  4. "Büyük Beyin"
    Bu 'programcı', çok fazla proje mantığı olmayan şeylerin yapılma yeteneğinden ve yeteneklerinden emin. Örneğin standart bir kütüphanenin yeniden yazılması "sistemimiz için yetersiz olduğu için" veya eldeki soruna uygun olmayan araç ve teknikleri tanıtmak. Örneğin , ana bilgisayar ortamında Lisp veya Forth'un tanıtılması.
  5. LOC a. Kum Torbası
    Bu 'programlayıcı', a seviyesini artırmak için şaşırtma ve yanlış yön kullanır . LOC: Parasını alan kod satırları . Bu durumda sayfa sayfa, tekrarlanan yapı ve mantık ekranından sonraki ekran olarak kod gördüm, sadece paragraf veya kontrol değişkeni adları satır sayısını yükseltmek için değiştirildi.
  6. Vazgeçilmez Uzman
    Elde sorunları çözmek için etki alanı bilgisine sahip 'programcı', ancak bu yana her şeyi "bildikleri". Nitekim, eğer bir otobüs tarafından vurulacaklarsa, o zaman tüm organizasyon çöktü. { Gözlem: Vazgeçilmez olduklarını düşünenler genellikle. (Bu aforizma hakkında kaynak olan var mı?)}
  7. Makarna Şefi
    Bu 'programcı', sözdizimsel olarak uygulanmış bir IDE olmadan takip edilmesi çok zor olan tanımlayıcılarla baharatlı spagetti kodunda uzmanlaşmıştır. örneğin, IndexI1O0, Index1I0O, vb.
  8. Yaz Stajyeri - Özel olarak alt tip Yürüyüş Afet
    Eski dükkanım geç saatlere kadar lise veya üniversite stajyerleri kiralamak için kullandı. Bir keresinde bir bölüm bazı ekipman kullanımlarını izlemek için küçük bir veritabanına ihtiyaç duyuyordu (şimdi bu gerideydi ve dBase III kullanıyordu). Adam bütün yaz boyunca kodlanmış, ancak üniversite sonbaharda başladığında yapılmadı. Bir hafta uzatma, sonra ikinci hafta aldı. İkinci haftanın sonunda projesini devralmak ve bitmek üzere Sistem Geliştirme'ye geri getirmek için gönderildim. Bana yaptığı şeyleri ve bitmemiş kısmını gösterdi. Ne işe yaradı güzel göz şeker vardı, ama uygulama oldueksik. Kopya almak için yeni biçimlendirilmiş disketleri açtığımda, "bir saniye, sınama dosyalarımı silmeme izin ver ..." dedi ve bir şey söylemeden önce bir sürü dosyayı silmiş.
    Şüpheli türden biri olarak ve başvurumun dükkanıma geri döndüğümde göz şekerimden başka bir şey olmadığını bulmak için bölüme geri döndüm ve Norton’u çıkardım ve sildiği dosyaları geri aldım, ek bir mantık bulmaya çalıştım, eksik olsa bile.
    Kötü mantık değil, kötü davranış buldum. Kullandığı bilgisayara bağlı olan yazıcı papatya tekerlekli bir yazıcıydı. Normal olarak monte edilmiş karakter seti bir İsviçre değişkeniydi. Silinen programların çıktısı bir ad, adres, DOB, bazı harf kodları ve bir tür kimlik numarası verdi. Biçim ve düzen beni rahatsız etti. Birden fazla insanın doğum tarihlerinin neredeyse tamamı yasal içki içme yaşıydı. Adreslerin çoğu orada değildi, onları criss-cross dizininde ararken. Çıktılarını amirine gösterdiğimde bana baktı ve "Ehliyet, sence de değil mi?" Dedi. Öyle yaptım dedim. Bu yüzden, saydamlık stoğunun, Xerox'un yanındaki çöp kutusunda parçalandığını buldu. Kötü oğlumuz, kendisinin ve arkadaşlarının yaşlarını ehliyetlerine göre ayarlamak için bindirmeler yaptı. Yetkililere rapor ettik.son iki haftası için ödeme yapılmadı .

Bunlar çalışmak zorunda olduğum kötü karakterlerden sadece birkaçı ...

/ s / BezantSoft


RE "Genellikle vazgeçilmez olduğunu düşünenler" bana bir tür hatırlatıyor: en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
DaveDev

10

Gelecek teknolojilere kendilerini adapte edememek


10

Belirgin bilgi / yetenek eksikliğinden ayrı olarak, kodları olması gerekenden daha zor okunması ve / veya bakımı zorsa, bir programcı kötüdür.


1
Ve programcı iyi yazılmış bir kodu okuyamadığı zaman gerçekten kötü bir :-)
Maniero

4
Bu neredeyse herkes olmaz mıydı? Demek istediğim, kodun okunması ve / veya olması gerektiği gibi olması neredeyse her zaman zor değil mi?
SamB

Hayır! Kod yazmak her zaman okumaktan daha kolaydır. Fakat bu acıları mümkün olduğunca azaltan bazı iyi yazılmış kodları saklamak zorunda kaldım.
Chinmay Kanchi

10

Başka hiç kimse kodunu okuyamadığında. Ne kadar parlak olduğun önemli değil; hiçbir programcı bir ada değildir.


Unlambda'da yazıyorsa, kimse okuyamaz.
SamB

Ayrıca, bir programcı başlangıçta bir şeyler yapmak için çok az zaman alırsa ve bunun üzerine bazı özelleştirme yapmak için çok zaman alırsa. Bunu sık sık gördüm çünkü programcı çoğunlukla yapıştırma kodunu kopyalar (başlangıçta bu yüzden hızlıdır), ancak daha sonra çok zaman alır çünkü (iyi programcılar için bile) niyetin yokluğundan dolayı onu değiştirmesi zordur. Özelleştirilebilir kodu başında yazmak.
Sandeepan Nath

7

Ayrıntılara dikkat etmeyen ve her zaman "işe yarıyor, bu yüzden onu yalnız bırakıyorum. Kayıtlardaki tüm istisnalar önemli değil" modunda olan biri.


7

Benim için programcılar için iki kategori var - solo ve takım.

Kötü solo programcılar

  • Basit bir işin yapılması çok uzun sürdü.
  • Yaptıkları şey için kendi başlarına araştırma yapamayanlar.
  • Bugün birkaç gün içinde kodlananları unutacak ve kendi kod tabanını çok iyi koruyamayanlar.
  • Gereksinime uyum sağlayamayanlar değişiyor.

Kötü takım programcıları da dahil olmak üzere kötü solo programcılar kategorisine girenlerden.

  • Diğer ekip üyeleriyle koordine edemeyenler.
  • Eleştiri kabul etmeyenler.
  • Başkalarına nasıl faydalı olacağını ve diğer ekip üyelerinden nasıl faydalanacağını bilmeyenler.
  • Okunabilen kod yazamayanlar.
  • Diğerlerine okunabilirlik uğruna yorum yapmayanlar.

8
Geçen hafta programladığım şeyleri tam olarak nasıl uyguladığımı tam olarak hatırlamıyorum. Bu nadir mi? Sonlu insan hafızası ile çalışmanın yalnızca programlamanın zorluklarından biri olduğu izlenimini edindim. Bu nedenle, kod yapılandırmanın ve belgelendirmenin önemi, böylece ayrıntıları hatırlamama gerek kalmaz .
James

@James Lütfen İngilizcemi bağışlayın;). Bir programcı birkaç gün sonra koduna bakmak için geri gelir ve hiçbir ipucu yoksa, bu kötü bir işarettir. Ayrıca birkaç gün önce nasıl ve tam olarak ne yaptığımı da hatırlamıyorum, ancak kendi koduma bakarken başımı çizmem gerekmediğinden ve 'ne düşünüyordum' dediğimden emin değilim.
tia

@James: Kesinlikle, kodunu belgelemeli ki böylelikle yarısının nasıl çalıştığını unutması önemli değil
SamB

4

Cevabını bilmediklerini ve / veya bazı şeyleri arama isteksiz olduklarını kabullenmeye istekli değiller.

Eğer bilmiyorsanız, pes etmeyin - anlayın ve halledin.


4

Deneyimlerimdeki büyük bir uyarı işareti, bilgisayar korsanlarına yorum yapmadıklarında ...

Ne demek istediğimi biliyorsun: çok kötü bir şey yapmak zorunda kaldığın zaman çünkü bunu yapmanın daha iyi bir yolu yok.

İyi programcılar bunu yapmak zorunda kalmaktan nefret eder ve bu tür bir kesmeyi yapmaktan ne kadar nefret ettiklerini söyleyen satır içi yorumlar eklerler, ancak başka seçenek yoktur. Kötü programcılar sadece kesmek ve yorum yapmazlar.


3

Bir programcı bir LOT kodu yazdığında açıkça sessiz. Çok büyük işlevler, belki satırları veya kod bloklarını kopyalayıp yapıştırın, gerekirse daha sonra gerekliyse vb. Kullanın. Bunun nedeni programcının istediği şeyi yapmak için standart bir işlevi bilmemesidir.


3

Repreategly olmak , bunu yapmanın doğru yolunu gösterdi ve tekrar tekrar sadece kolay yolu yapıyor.


3

Cevabımı buraya, sorulan kötü bir programcı olup olmadığınızı anlayabilen , sorulan kapalı bir konudan alıyorum. Cevabımı oluştururken diğer konu kapanıyordu. Cevabım daha doğrudan, diğer asker tarafından yazıldığından soruyu ele alıyor ve eğer anlarsanız daha iyi okuyacak.

İç çekmek! Bir kısmım zaten bu yoğun konuyu eklemek istemiyordu, ama diğer tarafım kazandı! Neden kazandı? neden bu çoklu diline daha fazla kelime eklemek için can atıyorum? Çünkü, bir dereceye kadar, bu konuyu daha önceki yorumculardan biraz daha farklı olabilir.

İkili bilgisayarlarda harika çalışıyor: '1' veya '0', "açık" veya "kapalı". Bu ünlü iki devleti kullanarak birçok bilgiyi soyutlayabilir ve kodlayabiliriz. Ancak, insan meseleleri için çok iyi çalışma eğilimi yoktur: "iyi" veya "kötü", "aklı başında" veya "deli", "iyi" veya "kötülük", "akıllı" veya "aptal" "şişman" veya "zayıf", "canlı" veya "ölü" mü? Bu tür kutuplaşmış değerlendirmeler her zaman şefkatli insanı bir parçası olduğum için korkunç derecede tatmin etmedi. Hangi ölçüm şemasını uygulamamı seçsem seçmeliyim, genellikle bu kadar keskin kontrastlara verilen cevapların aslında her iki ucunda değil, böyle bir kutup ile diğeri arasındaki bir süreklilik boyunca bir yerde bulunduğunu tespit ediyorum.

Kutuplaşma eğilimi ile oldukça uzun bir süredir mücadele ettim ve şimdiki kişisel çözümüm, böyle bir değerlendirmeye üç kelimeyi uygulamanın çok daha faydalı olduğunu düşünüyorum: " ne dereceye kadar!"

Öyleyse, sorunuza cevabım, onu tekrar söylemenizi önermek ve kendinize şunu sormak: "Ne derece kötü bir programcıyım?" Ya da daha iyisi, diğer yönde sormak için: "Ne derece iyi bir programcıyım?" Eğer gerçeği takip ediyorsanız, muhtemelen kendinizi "kötü" bir programcı ve "iyi" olan bir süreç boyunca bir yere yerleştirirsiniz. Ardından, bu yol boyunca yaklaşık olarak nerede bulunduğunuzu belirlemeyi başardığınızda, muhtemelen "iyi" son noktasına biraz daha yakın olan bir nokta tanımlayabilirsiniz - yakın bir gelecekte kendinizi bulmak istediğiniz bir nokta.

Bu noktayı çok fazla ayarlamazsanız, muhtemelen arka ucunuzu vitese takıp bu yönde hareket etmeye başlayabilirsiniz. Bu oldukça basit sezgisel algoritmayı birkaç kez yinelemeyi başarırsanız, kısa süre sonra tekrar bu soruyu tekrar sormak için çok meşgul programlamaya başlayabilirsiniz! Oh, ve muhtemelen bir klavyede kod vurma işlemine olabildiğince hızlı ve sık şekilde başlarsanız daha hızlı ilerleme kaydedersiniz; ve şimdi biraz mola verirseniz, meslektaşlarınız tarafından yazılmış bazı yüksek kaliteli kodları okuyun! Dinamik Açık Kaynak geliştirme bu günlerde, öğrenmek için ücretsiz ve zarif kod sıkıntısı yok!

Bu yüzden, üç küçük kelimemi "ne dereceye kadar" denemeni ve seni ne kadar iyi yönde götürebileceklerini görmeni şiddetle tavsiye ediyorum!


2

"Bu yapılamaz" diyen biri.

Bence bu tamamen problem çözme ile ilgili, araç gerçekten işin yapılmasından daha az alakalı olmalı. MS-Access veya assembly dili kullanarak çözmek zorunda kalırsam, bu "Yapılamaz" meselesi değil, zaman ve para meselesidir.

Bir uyarı işareti, işleri yapmanın akademik ve "uygun" yoluna çok fazla odaklanmak ve işlerin yapılmasına yeterince odaklanmamaktır.


2
Ve neden yapılabileceğini söylediğinde?
Maniero

1
Peki, durma problemini çözmeye ne dersiniz? Yapılabilir mi?
P

2
O değil sanki imkansız bir şey görevden kötü ve tersi de geçerlidir.
Randall Schulz

2
@Randall Schulz: craigslist'ten söyleyebileceğim kadarıyla, bir rock yıldızı programcısı bir reklam ajansındaki tüm geliştirme seviyelerini (veritabanı, kullanıcı deneyimi, dağıtım, sysadmin ve kullanıcı desteği) normal bir ücretten daha düşük bir ücret karşılığında işleyen kişidir. bunlardan biri. Onlara rock yıldızı diyorlar, çünkü haftada 60 saat sonra, diyetleri bir econoline minibüsünde tur yapan ve gitarlarını yemek için rehin vermek zorunda olan birine benzer.
Dan Monego

1
Evet, kapsamlı bir genelleme yaptım :), ama .. bir noktaya değiniyordu. "Benim profesyonel görüşüm bu yapılmaması gerektiği" demiştir. Daha da iyisi "Aynı sorunu farklı bir şekilde çözmeye ne dersiniz". Demek istediğim, iyi bir programcının çözüm odaklı olması gerektiğidir. "Bu yapılamaz", seçenekler sunmadan müşteriye çok sinir bozucu geliyor.
Dan Williams

2

Sadece bir dilin sözdizimini biliyorsa, ancak algoritmaların temel kavramlarını bilmiyorsa.


2

Çok fazla kelime öğretiyorlar ama çok az üretiyorlar.



2

SOLID, DRY, OOP vb. Gibi prensipleri bilmeyenler. Belirli teknolojileri bilmek yerine programlama prensiplerini ve temellerini iyi anlamak önemlidir. Sağlam temelleri olanlar yeni konuları kolayca öğrenebilecek ve daha iyi kod üretebileceklerdir.


2

Anlamayan gömülü bir programcı çok iyi veya çok görevli kesintileri. Ayrıca, bit alanlarıyla çalışması gereken, ancak üzerlerindeki mantıksal işlemleri kavramayan ve kaymayan programcılar.


2

Hemen bir tanıma sinyali şöyle diyebilir: "Neden işe yaramadığını anlamıyorum. Her şeyi doğru yaptım."


"Neden işe yaradığını anlamıyorum, doğru değil" diyerek yakından takip edildi.
Randall Schulz

Evet, bu aptalca bir bilgisayar :)
Dan Williams

2

Kötü bir programcıyı yeni başlayan programcılardan ayıran bir şey, en sevdikleri sistemi, hangi dilde ve hangi API'de çalıştıkları konusunda uygulamak konusunda inatçı ısrardır.

Bir zamanlar önceki geliştiricinin (Java'da) büyük bir set Tate Tate DBase III + api'yi özel dbf erişim kütüphanesinin üzerine yerleştirdiği bir sistem miras aldım. Java koleksiyonları çerçevesinin hiçbiri kullanılmadı.

Bu yüzden DBase III + (ya da muhtemelen kesme makinesi) uygulaması gibi görünen ve hareket eden bir Java / Swing uygulaması yazabiliyordu.

Bu sistemde yazdığı uygulamaların lite-bar menüleri vardı ve lite-bar'ı bir seçeneğe yönlendirdiğinizde altta bir dizi buton ile tam bir pencere formu açacaktı. 1980'lerde küçük bir zaman makinesi gibiydi.

Adam açıkça yetenekli bir geliştiriciydi. Tüm sistemin kendisini bu projenin zaman dilimi içinde yazabildiğini biliyordu. Ayrıca birkaç iç sistemde tekrar kullanabildi.

Fakat kodunda çalıştığı sistemlerin özelliklerini kötüye kullanması konusunda korkunç bir programcıydı. Java / Swing / SQL'i öğrenmek yerine, 3 ay boyunca özel bir şüphe uyandıran özel kütüphaneye harcamaya istekliydi.

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.