it-swarm.dev

Birinin kodunda yazım / dilbilgisi ile ilgili hatalara dikkat çekmeli miyim?

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?

109
Rahul

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.

210
HedgeMage

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.

39
Jason Baker

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ı.

28
John R. Strohm

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 :)

10
Marcie

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.) :)

6
Bunny Rabbit

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.

6
user11317

Dilbilgisi hataları olan kodun sürdürülemez olduğunu söyleyen diğer cevaplara katılıyorum.

Ayrıca birkaç şey eklemek istiyorum:

  • Kod genellikle çok iyi İngilizce bilmeyen insanlar tarafından yazılır ve/veya İngilizce ana dili değildir. İncelediğiniz bir kodda dilbilgisi hatası varsa, bu, iş arkadaşınızın bu hatayı yaptığı anlamına gelmez. Belki de sadece bir web sitesinden bir kopyala yapıştırıydı.
  • İngilizce iş arkadaşınızın ana dili değilse, ona bu hatayı anlatmak iyi veya kötü bir fikir olabilir. Fransa'dan gelmek, İngilizce yaptığım hatalar hakkında her zaman memnuniyetle karşılarım, çünkü gelecekte onlardan kaçınmanın tek yolu bu; Öte yandan, yaptıkları dilbilgisi hatalarından bahsederseniz, gerçekten incinmiş birkaç insan tanıyorum.
  • John R. Strohm'un dediği gibi, asla kamuya açık yapma. İnsanların çoğu bundan gerçekten rahatsız olacak.
4
Arseni Mourzenko

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.

2
Roman Zenka

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.

0
overstood

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.

0
kevpie

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.

0
Apalala

Bunu sadece

  • programın kullanımını etkiler
  • programın doğruluğunu etkiler
  • Yazarın düzeltilmesini istediğini açıkça biliyorum.

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() ...
0
Mark Harrison

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.

0