Bir iş arkadaşınızın kodunu incelerken, işlev adlarında bazı yazım hataları ve işlev ve değişken adlarında
doesUserHasPermission() yerine
doesUserHavePermission() gibi dilbilgisi hatalarıyla karşılaştım.
Bunlara dikkat çekmeli miyim yoksa bunları fark ederek çok bilgiç miyim?
Yazım ve dilbilgisi hataları olan kod kullanılamaz .
İnsanlar kötü dilbilgisini hatırlamayacaklar, bu yüzden işlevi yazılması gerektiği gibi çağırmaya çalışacaklar ve hatalar böyle oluyor.
Nasıl hecelendiğini bilmiyorsanız, koddaki bir şey için grep yapamazsınız.
Dilbilgisi/yazım denetimi yapan çoğu kişi bunu tutarsız bir şekilde yapar, bu nedenle uyumsuz adlandırma ile birçok hata yaparlar. Bu, özellikle değişkenlerin kullanımdan önce açıkça belirtilmesini gerektirmeyen dillerde sorunludur, çünkü yeni bir yazım sunabilirsiniz ve kodunuz berbat olduğunuzu bildirmek için bir öğütme durağına gelmez.
Bu problemleri düzeltmek bilgiçlikçi değildir ve öncelikle başkalarının zekâsı, okuryazarlığı vb. Hakkındaki görüşleri tarafından gerekli değildir (bu büyük bir yan etki olsa da); yazma hakkında kalite, bakımı kolay kod.
Evet kesinlikle. Dilbilgisi açısından doğru ise adı hatırlamak daha kolaydır. ve dilbilgisi hatalarının adını hatırlamaya çalışmak tamamen başka bir şeydir.
Bunları resmi kod incelemesinde kusur olarak göstermeyin. Bunun yerine, bir listeyi işaretleyin ve onunla ÖZEL şekilde konuşun. Bu konuda olabildiğince diplomatik olun, sadece "Hey, fark ettiğim bir şey ve GERÇEKTEN bu tür şeylere bakan insanlarla karşılaştım, programcının dikkatsiz ve özensiz görünmesini sağlıyorlar."
Bu bir müşterinin göreceği kodsa, kesinlikle düzeltilmesi GEREKİR. Beğenin ya da beğenmeyin, şirketinizin itibarını yansıtır.
Verdiğiniz örnek için, bunun UserHasPermission olarak başladığından şüpheleniyorum ve bir başkası ona yerel uygulamanın UserBlahBlah () yerine doesUserBlahBlah () olduğunu söyledi ve dilbilgisi değişikliğini gözden kaçırdı.
Kendiniz değiştirin.
Umarım kod "sahiplik" sorun değil bir ortamda. Projeye kaynak kontrolünden erişebiliyorsanız, içeri girin ve kendiniz düzeltin. Belirli bir iş arkadaşının aynı tür gramer veya yazım hatalarını tutarlı bir şekilde yaptığını görürseniz, bunu belirtmek isteyebilirsiniz, ancak bu, ilişkinize, kişinin anadili İngilizce olan kişi olup olmadığına ve genel alıcılığına bağlı olacaktır. Ama bunu yapmaya karar verip vermediğinizi, sadece sessizce gidip düzeltmeyi yapın. Bunu her zaman yaparım, bir yazım hatası görürsem, özellikle bir yöntem imzası veya kamu mülkiyetinde, sadece düzeltiyorum. Bazen bir yorumda bir yazım hatası düzeltmek için günaha bile dayanamıyorum, ama bu sadece ben :)
Burada, HTTP protokolündeki HTTP yönlendirme başlığının "yönlendiren" olarak yanlış yazılmış olduğunu belirtmeye değer (ve onunla yaşamak zorundayız/onunla yaşamayı öğrendik.) :)
Anadili İngilizce olmayan bir geliştiriciyim, aslında Hollandaca, ve birisi bana bir dilbilgisi veya yazım hatasını işaret ederse sorun olmaz. Bu şekilde İngilizcemi sürekli geliştirmeye devam edebilirim. Ve tüm kaynak kodunuzdaki tüm hataları düzeltmek kesinlikle zor değildir. Basit bir Perl betiği, bir klasördeki tüm dosyaları döndürmek için kolayca yazılabilir. Belki sed ile bile yapılabilir? Bilmiyorum.
Bu yüzden kesinlikle başka birinin kodunda dilbilgisi veya yazım hatalarına dikkat çekerim, ama sadece söylediklerimin doğru olup olmadığından kesinlikle emin olduğumda.
Dilbilgisi hataları olan kodun sürdürülemez olduğunu söyleyen diğer cevaplara katılıyorum.
Ayrıca birkaç şey eklemek istiyorum:
Bir IDE yerleşik yazım denetleyicisi ile kullanmanızı öneririm. IntelliJ Idea Java programları için harika bir iş çıkarıyor. işlev adlarında, ancak istisna mesajlarında kullanıcı görmeye başlar.Tipolarla dolu mesajlar üreten bir program fazla güven vermez.
Bu kodda küçük bir hatadır, ancak bir hatadır. Bulduğunuz başka bir hata gibi davranın. Politikam her zaman iş arkadaşlarımın yetkin olduğunu varsaymak ve aksini ispatlayana kadar bu şekilde davranmaktır.
Eğer tek bir hataysa, onu düzeltebilir ve kontrol edebilirim. Bir modelse, bu düzeltmeyi gözden geçirmek için iş arkadaşını almaya başlayabilirim. İyi bir kodlayıcı olduklarını düşündüğünüzü söyleyin, ancak bunun iyileştirilmesi iyi bir şey. Yine de böyle bir şey hakkında büyük bir anlaşma yapacağımı sanmıyorum.
Büyük bir sorun gibi davranmadığınız sürece, bu iş arkadaşınızı hatta ego koymadan gelişebilecekleri bir pozisyona koymak kolay olmalıdır.
Altın Kural Uygulanır
Sana yaptıklarını başkalarına yap.
Başkalarının bu tür şeylere sırtımı dönmesini istiyorum, bu yüzden başkalarına yardım ediyorum. Zarif ve destekleyici olmak sizin lehinize uzun bir yol kat edebilir.
Diğer birçok iyi programlama uygulamasında olduğu gibi, programlarda yazım ile ilgili bir politikayı uygulamanın tek objektif, politik olmayan ve etkili yolu, ön taahhüt sürecinin bir parçası olarak bunu otomatikleştirmektir. Otomasyon, kendi aracınızı bu amaçla yazsanız bile, sizi muazzam miktarlarda şikayetten kurtaracaktır.
Bunu sadece
Yan not olarak, işlev adlarınız dilbilgisine sahip olacak kadar uzunsa, muhtemelen çok uzundur. Verilen örnekte, serHasPermission işlevini çağırır ve "gramer" kodunuza, böyle bir şey taşımak:
if userHasPermission() ...
Bu aynı zamanda projemde çokça (yerel olarak İbranice, Rusça veya Arapça konuşan insanlar tarafından dolduruluyor), ancak daha yüksek bir seviyeye bile geliyor - çoğu zaman, sözlüğün çeviri olarak ürettiği şey olan belirsiz terminolojiyi kullanan kod görüyorum yazarın aklında ne vardı, ve bunun demek istedikleriyle ilgisi yok ...
Şahsen, çok sık gerçekleştiğinde ve projeye katılmadan önce bile kodu yazabilecek çok sayıda ekip üyesi tarafından, bunu görmezden gelme eğilimindeyim, çünkü önemli değil.
Ancak, uzun zaman önce yazılmış kod veya yorumlarla aynı dosyada bir iş yapıyorum ve onlar yazım hataları varsa, sadece çok fazla çalışma olmadığı için onları düzeltirim.