it-swarm.dev

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

Bir programcının yaptığı işte kötü olduğunu nasıl düşünürdünüz?

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

57
Tamara Wijsman

Hatalarından ve akran incelemelerinden öğrenemedikleri zaman.

Bir noktada hepimiz yeşiliz; ancak, daha iyi olmuyorsanız veya daha iyi olmaya çalışıyorsanız, o zaman kötü bir programcısınız demektir.

134
ist_lion

Neyi bilmediğini ve hiç ilgilenmediği bir programcı.

125
Graviton

Büyük bir uyarı işareti, bir "kargo kült" programcısı ise - yani bir şeyler yapıyorlar ama bilmiyorlar neden bunları yapıyorlar (sadece "sihirli"). Eric Lippert'in harika gönderisi burada .

Makaleden:

kodun ne yaptığını anlayan, ancak nasıl yaptığını bilmeyen programcılar.
75
Marcel Lamothe

Benim için büyük bir ipucu, size veya diğer programcılara kendi başlarına anlamaya kesinlikle sıfır çaba gösterdiklerini açıkça gösteren geliştirme soruları sorduğunda.

Sonuç, aynı programlama sorusunu birden fazla kez bilgi içselleştirmediklerini belirten soru sormalarıdır.

45
JohnFx

FizzBuzz sorununu çözmek uzun zaman aldığında.

21
EpsilonVector

Yeni teknolojiler/diller öğrenmeyi reddeden ve zaten bildiklerine sadık kalmakta ısrar eden programcılar.


Zeyilname: (yorumlarda aşağıda belirtilen çizgiyi ekleyerek)

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

21
missingfaktor

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

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

Yani ekibinizin geri kalanı kötü geliştirici nedeniyle daha fazla iş yapmak zorunda. NNPP

18
danivovich

Düzenli olarak Daily WTF üzerine bir şeyler ürettiklerinde.

18
Billy ONeal

Bir şeyleri yapmanın daha iyi yolları olduğunu bildiğinde, ancak zaman izin verdiğinde bile bunları yapmayı reddediyorlar.

15
JeffO

Şahsen, bir süre önce yazdıkları kendi kodlarına bakabilen ve bununla ilgili yanlış bir şey bulamayan herhangi bir programcının iyi olmadığını düşünüyorum. "Bir süre" tecrübeyle ölçeklenebilir ... Birkaç haftadan bir yıla kadar söyleyebilirim.

15
Daenyth

Kodlarında uyarıları görmezden gelen ve yalnızca hatalara önem veren kişiler.

15
Reigel

Ufacık bir dükkanda takım lideriyken, yeniden atamam gereken birkaç kişi vardı (ne ben ne de doğrudan amirimin bir ton olmadan sonlandırma yeteneği yoktu) Bürokrasi ve bir yığın belge.) veya mevcut sözleşmenin sonunda sözleşmenin yenilenmemesi. Numaralandırılmış türlerden bazıları diğer takım liderleri için de çalıştı ve hemen hemen aynı görüşü aldılar. Kitabımdaki "Kötü Programcı" kategorisine giren şeyler:

  1. Geçmişte eğitilemez veya Ossifiye
    'Programcı' eğitim/öğretim nasıl yapılırsa yapılsın, yeni sistemi, yeni aracı veya konuşlandırılan her şeyi emebiliyor gibi görünmüyorsa. Söz konusu eğitimi sık sık tekrar etmek zorundadır.
    'Programcı' sadece 10 veya 15 yıl önce kullandıkları teknolojiyi veya kodlama paradigmasını bildiğinde. O zaman yeterince iyiydi, neden değişsinler ki?
  2. Kovboy kodlayıcı
    Plan yapmadan önce kodlayan kişi. Üretim kodunda ve/veya verilerinde denenmemiş değişiklikler yapan 'programcı' çünkü şimdi düzeltmeliyiz "ve sonra" düzeltme "başarısız olduğunda şaşırır.
    Kovboy da kesinlikle bir takım oyuncusu değil. Sersemletici ekibe ihtiyaç duymaz.
  3. Rüzgar gülü
    Bu 'programcı' "teknoloji du jour " ile süslenmiştir ve her yeni çerçeveyi, dili, metodolojiyi veya yeni olan her şeyi görür ve sıcak olarak
  4. "Büyük Beyin"
    Bu 'programcı' yeteneğinden ve yeteneklerinden o kadar emin ki, pek çok proje mantıklı olmayan şeyler yapılıyor. ör. "Sistemimiz için verimsiz olduğu için" standart bir kitaplığın yeniden yazılması veya mevcut sorun için uygun olmayan araç ve tekniklerin tanıtılması. ör. Ana bilgisayar ortamında LISP veya Forth ile tanışın.
  5. LOC a. Sandbagger
    Bu 'programcı' kelimeyi artırmak için gizleme ve yanlış yönlendirme kullanıyor a. LOC: Ödeme yapılan Kod Satırları . Sayfadan sonraki sayfa, yinelenen yapının ve mantığın ekranından sonraki ekran olan kodun sadece satır veya kontrol değişkeni adları satır sayısını artırmak için değiştirildi gördüm.
  6. Vazgeçilmez Uzman
    Eldeki problemleri çözmek için alan bilgisine sahip 'programcı', ama onunla ilgili her şeyi “bildiği” için. Aslında, bir otobüse çarpacak olsaydı, o zaman tüm organizasyon çökecekti. { Gözlem: Vazgeçilmez olduklarını düşünenler genellikle öyledir. (Bu aforizmanın kaynağı olan var mı?)}
  7. Makarna Şefi
    Bu 'programcı' sözdizimsel olarak uygulanan bir IDE olmadan takip edilmesi çok zor olan tanımlayıcılarla baharatlanmış spagetti kodunda uzmanlaşmıştır. ör. IndexI1O0, Index1I0O, vb.
  8. Yaz Stajyeri - Özellikle alt tip Yürüyüş Felaketi
    Eski dükkânım çok sayıda lise veya kolej çağında stajyer tutuyordu. Bir keresinde bir departmanın bazı ekipman kullanımını izlemek için küçük bir veritabanına ihtiyacı vardı (şimdi bu geri döndü ve dBase III kullanıyordu). Adam tüm yaz boyunca kodladı, ancak üniversite sonbaharda başladığında yapılmadı. Bir hafta uzatma sonra ikinci hafta uzadı. İkinci haftanın sonunda projesini devralmak ve bitirilmesi için Sistem Geliştirmeye geri getirmek üzere gönderildim. Bana yaptığı şeyleri ve sonra da tamamlanmamış kısmı gösterdi. Ne işe yaramıştı Nice eye candy, ama uygulama oldu eksik. Kopya almak için yeni biçimlendirilmiş floppies kutusunu açtığımda, "bir saniye, test dosyalarımı silmeme izin ver ..." dedi ve bir şey söylemeden önce bir sürü dosyayı sildi.
    Şüpheli tür olmak ve başvurumu dükkanıma geri döndüğümde göz şekerinden başka bir şey olmadığını bulmak, departmana geri gittim ve Norton'u çıkardım ve sildiği dosyaları sildi, eksik olsa bile ek mantık bul.
    Buldum, kötü mantık değil, kötü davranış. Kullandığı bilgisayara bağlı yazıcı papatya tekerleği yazıcısıydı. Normalde monte edilen karakter kümesi bir İsviçre varyantıydı. Silinen programların çıktısında bir ad, adres, DOB, bazı harf kodları ve bir tür kimlik numarası belirtilir. Biçim ve düzen beni rahatsız etti. Birden fazla insanın doğum tarihleri ​​neredeyse yasal içki içme yaşıydı. Criss-cross dizinimize baktığımda adreslerin çoğu orada değildi. Çıktıları amirine gösterdiğimde bana baktı ve "Sürücü ehliyeti, öyle değil mi?" Dedi. Ben de öyle dedim. Şeffaflık stokunun Xerox'un yanındaki çöp kutusunda kesildiğini bu yüzden söyledi. Kötü oğlumuz ve arkadaşlarının yaşlarını ehliyetlerine göre ayarlamak için bindirmeler yapmıştı. Bunu yetkililere bildirdik. Son iki haftası için değil ödendi.

Bunlar üzerinde çalışmak zorunda kaldığım kötü karakterlerden bazıları ...

/ s/BezantSoft

14
BezantSoft

Açık bir bilgi/yetenek eksikliğinin yanı sıra, kodlarının olması gerektiği gibi okunması ve/veya sürdürülmesi daha zorsa, bir programcı kötü bir programdır.

10
Chinmay Kanchi

Gelecek teknolojilere uyum sağlayamıyor

10
Gopi

Kimse kodunu okuyamazsa. Ne kadar parlak olduğun önemli değil; hiçbir programcı bir ada değildir.

10
stevenvh

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

Kötü solo programcılar

  • Basit görevi yerine getirmek çok uzun sürenler.
  • Yaptıkları şey için kendi başına araştırma yapamayanlar.
  • Bugün kodlananları birkaç gün içinde unutacak ve kendi kod tabanını çok iyi koruyamayanlar.
  • Gereksinim değişikliklerine uyum sağlayamayanlar.

Kötü takım programcıları kötü solo programcılar kategorisine girenlerdir.

  • Diğer ekip üyeleriyle koordinasyon yapamayanlar.
  • Eleştiriyi kabul etmeyenler.
  • Başkalarına nasıl faydalı olacağını ve diğer ekip üyelerinden nasıl faydalanacağını bilmeyenler.
  • Okunabilir kod yazamayanlar.
  • Diğerlerine okunabilirlik uğruna yorum yapmayanlar.
7
tia

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

7
talonx

Deneyimlerime büyük bir uyarı işareti ne zaman onların kesmek yorum yok olduğunu.

Ne demek istediğimi biliyorsun: Çok acayip bir şey yapmak zorunda kaldığın zaman bunu yapmanın daha iyi bir yolu yok.

İyi programcılar bunu yapmaktan nefret edecek ve bu tür bir saldırıya girmekten ne kadar nefret ettiklerini söyleyen satır içi yorumlarda bulunacaklar, ancak başka seçenek yok. Kötü programcılar sadece kesmek ve yorum yapmazlar.

4
Bobby Tables

İtiraf etmek istemiyorlar cevabı bilmiyorlar ve/veya bir şeyler aramak istemiyorlar.

Eğer bilmiyorsanız, vazgeçmeyin - anlayın ve halledin.

4

Repreategly olmak bunu yapmak için sağ yol gösterdi ve tekrar tekrar sadece kolay yolu yapıyor.

3
DaveDev

Bir programcı bir sürü kod yazdığında açık bir şekilde sessiz. Çok büyük fonksiyonlar, belki satırları veya kod bloklarını kopyalayabilir/yapıştırabilir, daha sonra gerekliyse daha fazla yol kullanarak, vb.

3
user2528

Cevabımı buraya kapalı bir yinelenen konudan hareket ettiriyorum Kötü bir programcı olup olmadığınızı anlayabiliyor musunuz? Yanıtımı oluştururken diğer konu kapatılıyordu. Cevabım soruyu doğrudan diğer asker tarafından ifade edildiği gibi ele alıyor ve anlarsanız daha iyi okuyacaktır.

İç çekmek! Bir parçam zaten meşgul olan bu konuya eklemek istemedi, ancak diğer tarafım kazandı! Neden kazandı; neden bu özel çoklu-diyaloga daha fazla kelime eklemek için uğraşıyorum? Çünkü, bir dereceye kadar, bunu önceki yorumculardan biraz farklı bir şekilde ele alabilirim.

İkili bilgisayarlarda harika çalışır: '1' veya '0', "açık" veya "kapalı" dır. Bu ünlü iki eyaleti kullanarak birçok bilgiyi soyutlayabilir ve kodlayabiliriz. Ancak, insani konular için çok iyi çalışma eğilimi göstermez: "iyi" veya "kötü", "aklı başında" veya "deli," "iyi" veya "kötü," "akıllı" veya "aptal," "şişman" veya "ince", "canlı" veya "ölü?" Bu tür kutuplaşmış değerlendirmeler, önemseyen insanı her zaman benim bir parçam olarak son derece tatminsiz bıraktı. Uygulamayı seçtiğim ölçüm şemalarına göre, genellikle bu tür keskin kontrastların cevaplarının aslında her iki ucunda değil, böyle bir kutup ile diğeri arasında bir süreklilik boyunca bir yerde olduğunu görüyorum.

Kutuplaşma eğilimi ile uzunca bir süredir mücadele ediyorum ve kişisel çözümüm, böyle bir değerlendirmeye üç kelime uygulamayı çok daha kullanışlı bulmam: " ne dereceye kadar! "

Yani, sorunuza cevabım onu ​​yeniden ifade etmenizi önermek ve kendinize şu soruyu sormak: "Ne dereceye kadar kötü bir programcıyım?" Ya da daha iyisi, diğer yöne sormak için: "Ne kadar iyi bir programcıyım?" Eğer gerçeği takip ederseniz, muhtemelen kendinizi "kötü" bir programcı ile "iyi" bir program arasında bir yerde bulacaksınız. Daha sonra, bu yol boyunca yaklaşık olarak bulunduğunuz yeri bulmayı başardığınızda, muhtemelen "iyi" sona biraz daha yakın bir noktayı tanımlayabilirsiniz - yakın gelecekte kendinizi bulmak istediğiniz bir nokta.

Bu noktayı çok uzakta ayarlamazsanız, muhtemelen arka ucunuzu vitese alabilir ve o yönde hareket ettirmeye başlayabilirsiniz. Bu oldukça basit sezgisel algoritmayı birkaç kez yinelemeyi başarırsanız, yakında bu soruyu tekrar sormak için çok meşgul programlama bulabilirsiniz! Oh, ve klavyede mümkün olduğunca çabuk ve sık sık kod vurmaya başlarsanız muhtemelen daha hızlı ilerleme kaydedersiniz; ve ara sıra biraz ara verirseniz, akranlarınız tarafından yazılmış yüksek kaliteli kodları okuyun! Dinamik Açık Kaynak geliştirmenin bu günlerinde, öğrenmek için ücretsiz ve zarif kod sıkıntısı yok!

Bu yüzden, size üç küçük kelimemi, "ne dereceye kadar" denemenizi ve sizi ne kadar iyi bir yöne götürebileceklerini görmenizi şiddetle tavsiye ederim!

3
John Tobler

SOLID, DRY, OOP vb.) Gibi ilkeleri bilmeyenler, belirli teknolojileri bilmektense programlama ilkelerini ve temelleri iyi anlamak önemlidir. kolayca yeni konular öğrenebilir ve daha iyi kod üretecek.

2
Giorgi

Kötü bir programcıyı yeni başlayan bir programcıdan ayıran bir şey, en sevdikleri sistemi çalıştıkları dil ve API'de uygulama konusunda inatçı ısrar etmektir.

Bir zamanlar önceki geliştiricinin (Java'da) özel dbf erişim kütüphanesinin üstünde katmanlı büyük bir Ashton Tate DBase III + api setini yeniden uyguladığı bir sistemi devralmıştım. Java koleksiyonlar çerçevesinin hiçbiri kullanılmadı.

Bu, DBase III + (veya muhtemelen kırpma) uygulaması gibi görünen ve hareket eden bir Java/swing uygulaması yazabildi.

Bu sistemde yazdığı Uygulamaların lite-bar menüleri vardı ve lite-bar seçeneğine gittiğinizde altta bir dizi düğme içeren tam pencere formu açar. 1980'lere kadar küçük bir zaman makinesi gibiydi.

Adam açıkça yetenekli bir geliştiriciydi. Tüm sistemi, o projenin zaman çerçevesinde yazabildiğini yeterince biliyordu. Ayrıca birkaç başka iç sistemde de yeniden kullanabildi.

Ancak, kodunun üzerinde çalıştığı sistemlerin özelliklerini kötüye kullandığı için korkunç bir programcıydı. Java/Swing/SQL öğrenmekten ziyade özel bir şüpheli fayda lib 3 ayını harcamaya daha istekliydi.

2
sal

"Yapamaz" diyen biri.

Bence her şey problem çözme ile ilgili, araç aslında iş yapmaktan çok daha az alakalı olmalı. MS-Access veya Assembly dilini kullanarak çözmem gerekirse, bu bir zaman ve para meselesi, "Bu yapılamaz" meselesi değil

Bir uyarı işareti, şeyleri yapmanın akademik ve "uygun" yoluna çok fazla odaklanır ve işin yapılmasına yeterince odaklanılmaz.

2
Dan Williams

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

2
Chankey Pathak

Çok fazla iddiasız ama çok az ürettiklerinde.

2
Gratzy

Anlamayan gömülü bir programcı, çok iyi veya çoklu görevi kesintiye uğratır. Ayrıca bit alanlarıyla çalışması gereken ancak üzerlerinde mantıksal işlemleri kavramayan ve kaydırmayan programcılar.

2
tcrosley

Anında tanınma sinyali diyen biri: "Neden işe yaramadığını anlamıyorum. Her şeyi doğru yaptım."

2
Robert Rossney

! (akıllı ve işleri halleder)

2
Nick Pierpoint

Bugün, birçok programcı bu karmaşıklığın en iyi programlarında sadece iyi anlaşılmış küçük bir dizi teknik kullanılarak yönetildiğine inanmaktadır. Programların sahip olması gereken formlar hakkında katı kurallar oluşturdular ve aralarındaki daha gayretli, bu kuralları kötü programcılar olarak ihlal edenleri kınacak

1
Pir Abdul

Kodu başka yerlerden kopyalayıp yapıştıran ve kodun gerçekten nasıl çalıştığını anlamayan bir programcı kötü bir programcı olarak bilinir! Bunu genellikle javascript ile görüyorum.

1
Pir Abdul

Bir programcının programlamada kötü olabilmesinin tek yolunun, diğer insanların söylediklerini dinlemeyi bırakmasıdır.

Programlama bilgi ile ilgilidir. Kişinin kulakları ve gözleri açık tutması gerekir.

Bir programcı ancak kitaplara vurarak ve çok çalışarak gelişebilir. Ancak, aynı şeyi tekrar tekrar öğrenmeye değil, yeni şeyler öğrenmeye odaklanmalısınız (kendi alanınızda/endüstrinizde yeni deneyimler arayın).

İyi şanslar.

0
Pablo