Kaynak kodunu yorumlamanın yazılım kalitesi, sürdürülebilirlik ve geliştirici verimliliği üzerindeki etkileri hakkında ampirik çalışmalar var mı? [kapalı]


11

Kaynak kodu ve yazılım ürünlerini belgelemenin savunucusuyum. Benim kişisel deneyimim ve gözlemlerim, titizlikle yorumlanan kaynak kodları üzerinde çalışmanın, yazılımı büyütmek veya korumak zorunda kaldığımda bana farklı şekillerde yardımcı olduğu.

Ancak yorum yapmanın sonuçta değersiz olduğunu veya değerinin tartışmalı olduğunu söyleyen başka bir kamp var. Yorum yapmadan çok sayıda kodlama savunucusu:

  • Bir kod parçası iyi yazılmışsa, kendi kendini açıklayıcıdır ve dolayısıyla yorum yapmaya gerek yoktur
  • Bir kod parçası kendinden açıklayıcı değilse, yeniden düzenleyin ve herhangi bir yoruma ihtiyaç duymaması için kendi kendini açıklayıcı yapın
  • Test paketiniz canlı belgelerinizdir
  • Zamanla kod ve yorumlar senkronizasyondan çıkar ve başka bir baş ağrısı kaynağı haline gelir
  • Agile, çalışma kodunun belge yığınlarından daha önemli olduğunu söyledi, bu yüzden yorum yazmayı güvenle yok sayabiliriz

Bana göre bu sadece dogma. Yine, kişisel gözlemlerim, akıllı ve deneyimli geliştiricilerden oluşan ekipler tarafından yazılan yazılımın sonunda kendini açıklayıcı olmayan önemli miktarda kodla sonuçlandığı olmuştur.

Yine, Java API, Cocoa API, Android API, vb. Kalite belgelerini yazmak ve bakımını yapmak istiyorsanız, bunun mümkün olduğunu göstermektedir.

Tüm bunları söyledikten sonra, belgelerin artıları ve eksileri hakkındaki görüşmeler ve kişisel inançlara dayanan kaynak koduna yorum yapmak genellikle iyi sonuçlanmaz ve tatmin edici sonuçlara yol açmaz.

Bu nedenle, yazılım dokümantasyonunun, özellikle kaynak kodunun yorumlanması, kalitesi ve sürdürülebilirliği üzerindeki etkilerinin yanı sıra ekip verimliliği üzerindeki etkileri hakkında akademik makaleler ve ampirik çalışmalar arıyorum.

Bu tür makaleler üzerine tökezlediniz mi ve bunların sonucu ne oldu?


2
Bence bu yine de ilginç bir soru, ama burada kapanabileceğine pek şaşırmadım. Bu yüzden bunu Quora'da da yayınladım.
Behrang Saeedzadeh

4
@gnat - Bana öyle geliyor ki "Yazılım geliştirme alanında bu konuda hangi araştırmalar yapıldı?" hoş karşılanmayan "lütfen bana bir konuda kitap ver" isteklerinden oldukça farklı bir soru.
Josh Kelley

1
Sadece başlığı okurken: Herhangi bir şeyin kalite üzerindeki etkileri hakkında ampirik bir çalışma yoktur. Olsaydı, bu site olmazdı.
Euphoric

2
@ İki ifadeniz birbiriyle çelişiyor. 30 yıllık "çılgın" belgeyi görmezden gelirsek, çatışma olmaz. Ama her neyse, bulguları sadece eski oldukları için görmezden gelmemeliyiz , ancak modern çalışma ile ilişkilerini eleştirel olarak değerlendirmeliyiz (yeni sonuçlarla da olması gerektiği gibi).

3
@ Euphoric Keşke bunu bir cevap olarak yayınlamanızı isterdim, böylece battaniye iddianızdaki toplam araştırma eksikliğinizi aşağıdan indirebilirim. Farklı tekniklerin yazılım kalitesi üzerindeki etkileri hakkında ampirik ve başka türlü tonlarca makale ve araştırma vardır. Yazılım Mühendisliği hakkında bir şey okudunuz mu?
Andres F.

Yanıtlar:


9

In "modüler hale getirilmesi ve programın anlama üzerindeki yorumların etkisi" (1981), Princeton, Dunsmore ve Shen o "kimin programları konular comments yorumlarla olmayanlara göre daha sorulara cevap başardık içeriyordu." Bulundu

Ancak, "Kod Okunabilirliği İçin Bir Metrik Öğrenme" (2010), Raymond PL Buse ve Westley Weimer yorumların okunabilirlik ve kalite üzerinde sadece sınırlı bir etkiye sahip olduğunu bulmuşlardır:

Özetden:

Otomatik bir okunabilirlik ölçütü oluşturuyoruz ve ... bu metriğin üç yazılım kalitesi ölçüsü ile güçlü bir şekilde ilişkili olduğunu gösteriyoruz: kod değişiklikleri, otomatik hata raporları ve hata günlük mesajları ... Verilerimiz, yorumların kendi başlarına daha az önemli olduğunu göstermektedir yerel okunabilirlik yargısına basit boş çizgilerden daha fazla.

12. sayfadan itibaren:

Yorumların ek açıklamalarımızın okunabilirlik kavramıyla (% 33 göreceli güç) yalnızca orta düzeyde iyi korele olduğunu bulduk. Bir sonuç, yorumların okunabilirliği artırabildiği halde, genellikle daha az okunabilir başlayan kod segmentlerinde kullanılır: yorum ve okunamayan kod etkili bir şekilde dengelenir. Net etki, yorumların her zaman kendi başına yüksek veya düşük okunabilirliğin göstergesi olmadığı gibi görünmektedir.

"Yorum yapmadan kodlama" destekçilerinin yorum içermeyen kodun yorum içeren koddan daha iyi olduğunu söylemediğini unutmayın. Yorum içermeyen belirli bir kod stilinin - kodu kendi kendini tanımlayan adlara sahip yöntemlere ayıklayan , açıklayan değişkenleri tanıtan , iyi bir test takımına sahip olan - bu şeyleri yapmayan koddan daha iyi olduğunu savunuyorlar. ama yorumları var. Bu, yapılan herhangi bir çalışmanın uygulanabilirliğini zorlaştırabilir.


1
Woodfield ve ark. Makalesi, şu anda Javadoc olarak adlandırılacak olan kabaca eşdeğer çeşitli yorumlarla ilgilidir: "Özellikle, bu araştırma, mantıksal bir modülden hemen önce eklenen kısa yorumların işlevi kısaca tanımlayarak anlama yardımcı olup olmayacağını belirlemeye çalışır. ve mantıksal modülün sınırlarını tanımlamaya yardımcı olur. "

O zaman eklemeliydim: bu onun değeri olmadığını söylemek değil, gerçekten ilginç ve iyi yapılandırılmış bir çalışma. Sadece tüm yorumları almadıklarını söylemenin gerekli olduğunu düşündüm .
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.