Kaynak kod için faydalı ölçütler nelerdir? [kapalı]


33

Kaynak kod için yakalamak için yararlı ölçümler nelerdir?

Örneğin (Yürütülebilir?) Kod Satırları veya Döngüsel Karmaşıklık gibi metrikler kalite güvencesine nasıl yardımcı olabilir veya genel olarak yazılım geliştirme süreci için nasıl faydalıdır?


37
Tek geçerli ölçü WTF / sn'dir. :)
terminus


Yanıtlar:


30

"Yazılım üretkenliğini kod satırlarıyla ölçmek, uçaktaki ilerlemenin ağırlığını ölçmek gibidir." - Bill Gates


3
Lütfen cevap vermeyenleri güncelleme.
Eric Wilson

3
Eğlenceli bir anekdot olsa da, bu cevap, bu sorunun cevabına katkıda bulunmak için çok az şey yapar.
Chris Knight

7
@Chris Bu yanıt çok fazla oy aldı (ya da FarmBoy'un çağırmak istediği gibi "güncellemeler") çünkü birçok geliştirici yazılım ölçümlerinin işe yaramaz olduğuna inanıyor. Eğer soruya daha iyi yanıt verdiğinizi kabul etmezseniz veya karar verirseniz, kendi cevabınızı gönderin. Burada yaptığın gibi yorum yapmak verimli değil; kendin için hiçbir şeye katkıda bulunmadın.
chrisaycock

7
Benim oyum ve yorumum, derinliksiz ve OP'nin sorusunu doğrudan ele almayan cevapları caydırmak için tasarlandı. Yazılım geliştirme ve kalite güvencesi konusunda yazılım ölçümlerinin neden işe yaramaz olduğuna inandığınız ve LOC'den daha fazla odaklandığınıza dair daha ayrıntılı bir konuya girdiyseniz, bu çok daha iyi bir cevap olabilir.
Chris Knight

Yazılım metrikleri, bunları doğru kullanıyorsanız, aslında çok kullanışlıdır. Yani, ne kadar çok LoC -> o kadar fazla hata -> kalite o kadar kötü olur. Kalitenin ölçüsü olarak başarısız olduğunu hiç görmedim. Ve bir uçak, aynı hareketi aynı hızda yaparsa, ancak daha az ağırlık gerektiriyorsa, kesinlikle daha iyidir. Belli ki Bill Gates, bunu söylerken uçaklar hakkında fazla bir şey bilmiyordu, ne de yazılım hakkında yeterince bilgi sahibi değildi.
Pablo Ariel

12

Jeff'in konuyla ilgili yayınlarına bir göz atın:

Metrik Hizmetçiden Bir Ziyaret

Yazılım Mühendisliği: Ölü?

Joel'in yazdığı yazılım ölçütleriyle de ilgili eski ama iyi bir yazı var ve okunmasını şiddetle tavsiye ediyorum: Econ 101 Yönetim Yöntemi

Benim için kilit nokta şudur: Jeff'den alıntı yapmak: "Metrikleri sorumlu kullanmak, ilk etapta onları toplamak kadar önemlidir."


Jeff'in bir liner'inden alıntı yapmak için +1. Saf, savaşta sertleşmiş bilgelik işte.
luis.espinal,

11

Kod ölçümleriyle ilgili beni şaşırtan şey, daha fazlasını yapmamaktır. Çoğu şirket, çalışanlarının, tedarikçilerinin ve sistemlerinin yürürlükte olduğu konusunda rapor verir, ancak kimse kodu rapor etmek istemez. Daha fazla kod satırının bir sorumluluk olduğunu ancak kodunuzun ne kadar önemli olduğunu belirten yanıtları kesinlikle kabul edeceğim.

Kod Satırları: Daha önce belirttiğim gibi, bu hayati bir ölçümdür ve en ciddiye alınmalıdır, ancak her seviyede. İşlevler, sınıflar, dosyalar ve arabirimler, uzun vadede bakımı zor ve maliyetli olan her şeyi yapan kodu gösterebilir. Bir sistemin yaptığı ile karşılaştırıldığında toplam kod satırlarını karşılaştırmak sonsuz zordur. Çok şey yapan bir şey olabilir ve bu durumda birçok kod satırı olacak!

Karmaşıklık: Bu ölçüm, üzerinde çalışmadığınız kod tabanları üzerinde yapmak için iyidir ve sorunlu alanların nerede bulunduğunun iyi bir göstergesi olabilir. Yararlı bir anekdot olarak, kendi kod tabanlarımdan biri üzerindeki karmaşıklığı ölçtüm ve en yüksek karmaşıklık alanı, değiştirmek istediğimde en çok zaman harcadığım alandı. Karmaşıklığı azaltmaya yönelik çalışmak, bakım süresinde büyük bir düşüşle sonuçlandı. Eğer yönetim bu ölçümleri elinde bulundurduysa, yeniden yapılanma yinelemelerini veya sistemin belirli alanlarının yeniden tasarlanmasını planlayabilir.

Kod çoğaltma: Bu benim ilgilendiğim kadarıyla çok önemli bir ölçüm. Kod çoğaltma çok kötü bir işarettir ve ya sistemin tasarımının düşük seviyelerindeki derin sorunlara ya da kopya yapıştıran geliştiricilere uzun vadede büyük sorunlara neden olan ve sürdürülemeyen sistemlere işaret edebilir.

Bağımlılık Grafikleri Kötü bağımlılıklar ve dairesel bağımlılıklar bulmak kodda önemli bir ölçümdür. Bu neredeyse her zaman revize edilmesi gereken yanlış bir üst düzey tasarıma işaret ediyor. Bazen bir bağımlılık, gereksiz başkalarını da emebilir, çünkü birisi finans hesaplamaları yapmak için bir e-posta kütüphanesinde addNumber kullanıyor. E-posta kütüphanesi değiştiğinde ve finansman bozulduğunda herkes şok olur. Eğer her şey bir şeye bağlıysa, bakımı zor ve kötü bir şekilde tasarlanmış her şeyi kütüphaneye işaret edebilir.

İyi bir ölçüm size her zaman sistemin her özelliğinin az yer kapladığını söyleyecektir. Daha az bağımlılık, daha az karmaşıklık, daha az çoğaltma. Bu gevşek birleşme ve yüksek uyum gösterir.


8

Bu "kaynak kod metrikleri" hiç ölmedi mi?

Ham kaynak kod satırı (SLOC), en eski, en kolay, en temel ölçümdür.

Halstead aslen bir sürü metrik önermişti. Bir çok sporsport bariz bir çalışmayı gerçekleştirene kadar pek çok insan çok eğlenceli yazma ölçüm programlarına sahipti ve her bir Halstead metrikinin SLOC ile doğrudan ilişkili olduğunu gösterdi.

Bu noktada, Halstead'in metrikleri terk edildi, çünkü SLOC ölçümü her zaman daha kolaydı.


1
Çalışmaya bağlantı var mı?
Jon Hopkins,

Google, ARKADAŞINIZ, ancak başlamanıza başlaması gerekenlerden biri. ecs.csun.edu/~rlingard/comp589/HoffmanArticle.pdf
John R. Strohm

6
İlginç çalışma, çalışmaları yalnızca genel olarak 50 ila 100 satırlık kod programlarına baktığı halde. Çözülecek küçük, iyi tanımlanmış bir problemle, sonuç çok da şaşırtıcı görünmüyor.
Chris Knight

Gerçek dünyada, tüm bu çalışmaların çamura dönüştüğünü söyleyebilirim.
Warren P,

Bu doğru. Kod satırları ne kadar fazlaysa kaliteyi de o kadar fazla etkiler.
Pablo Ariel

8

Kalite güvencesi için kaynak kodu ölçümleri iki amacı hedeflemektedir:

  • içinde daha az hata olan kod yazma
  • kolay bakım için kod yazma

Her ikisi de olabildiğince basit kod yazma yol açar. Bunun anlamı:

  • kısa kod birimleri (fonksiyonlar, yöntemler)
  • her birimdeki birkaç öğe (argümanlar, yerel değişkenler, deyimler, yollar)
  • ve diğer pek çok kriter az ya da çok karmaşık (bkz . Wikipedia'daki Yazılım metriği ).

7

Bildiğim kadarıyla, bulunan hataların sayısı doğrudan kod satırları (muhtemelen karmaşası), modulo dili, programcı ve etki alanı ile ilişkilidir.

Hatalarla iyi ilişkilendirilen başka basit ve pratik bir metrik bilmiyorum.

Yapmak istediğim bir şey, üzerinde bulunduğum farklı projeler için sayıları koşmaya başlamaktır - Test Kapsamı :: kLOC ve sonra bir korelasyon olup olmadığını görmek için "algılanan kaliteyi" tartışmak.


1
Yani kod ne kadar çoksa, içinde o kadar fazla hata var mı?

3
@ At: Evet, evet. şok edici, ha?
Paul Nathan,

Hatırladığım kadarıyla, ortalama endüstri sayıları ortalama projeler için 1000 satır kod başına 2-3 hata, nükleer santral kontrol yazılımı için 1000 satır kod başına 0,5 hata gibi bir şeye yaklaşıyor ya da çok fazla çaba harcadıkları NASA projeleri gibi , kontrol, test etme, gözden geçirme vb. başarısızlıklar çok ciddi sonuçlar doğurabilir. Bunu destekleyen numaralara referansı olan var mı?
Hlovdal

2
@hlovdal: KSLOC başına 2-3 hata zaten çok düşük bir rakam. Havacılık ve güvenlik alanlarından bildiğim en düşük rakamlar, KSLOC başına 0.1 hata sırasına göre. KSLOC başına tipik rakamlar 20 ila 50 hata gibi görünüyor. Başvuru için, Andy German'ın "Yazılım Statik Kod Analizi - Öğrenilen Dersler" başlıklı makalesi için Google.
Zamanlayıcı

1
Bu rakamlara itiraz ediyorum - tamamen dile, derleyiciye ve çalıştırılabilir ortama bağlı. JavaScript kodundaki yazımın bulunması yıllar sürebilir , ancak derlenmiş bir dilde yazım hatası ilk derlemede bulunur.
JBRWilkinson

7

Metrikler, yalnızca aldığınız cevaplarla ne yapacağınızı biliyorsanız yararlı olur. Temelde bir yazılım metriği bir termometre gibidir. Bir şeyi 98.6 ° F'de ölçmeniz, normal sıcaklığın ne olduğunu öğrenene kadar hiçbir şey ifade etmez . Yukarıdaki sıcaklık vücut sıcaklığına iyi gelir ancak dondurma için çok kötüdür.

Yararlı olabilecek yaygın metrikler :

  • Bulunan hatalar / hafta
  • Hatalar çözüldü / hafta
  • # Gereksinimler tanımlandı / bırak
  • # Gereksinimler uygulandı / yayınlandı

İlk iki ölçü trendi. Hataları onarabileceğinden daha hızlı mı buluyorsun? İki olası sonuç: belki hataları düzeltmek için daha fazla kaynağa ihtiyacımız var, belki de yetişene kadar yeni özellikleri uygulamayı bırakmalıyız. İkinci ikisi, ne kadar yakın olduğunuza dair bir resim sunar. Çevik ekipler buna "yazma" şeması diyor.

Siklomatik Karmaşıklık ilginç bir ölçümdür. Temel konseptte, bir işlev / yöntemdeki benzersiz yürütme yolu sayısıdır. Birim test ağır ortamında bu, her yürütme yolunu doğrulamak için gereken test sayısına karşılık gelir. Bununla birlikte, sadece 96 döngüsel karmaşıklığı olan bir yönteme sahip olmanız, mutlaka yanlış kod olduğu anlamına gelmez - ya da makul bir güven sağlamak için 96 test yazmanız gerekir. Bu karmaşık bir şey oluşturmak için oluşturulan kod (WPF veya ayrıştırıcı jeneratörler aracılığıyla) nadir değildir. Bir yöntemde hata ayıklamak için gereken çaba seviyesi hakkında kabaca bir fikir verebilir.

Alt çizgi

Yaptığınız her ölçümün aşağıdakileri tanımlaması gerekir veya faydasızdır:

  • "Normal" olanın anlaşılması. Bu, proje ömrü boyunca ayarlanabilir.
  • Bir tür işlem yapmanız gereken "normal" dışında bir eşik.
  • Eşik aşıldığında kodla başa çıkmak için bir plan.

Aldığınız ölçütler, projeden projeye büyük ölçüde değişebilir. Projeler arasında kullandığınız birkaç ölçüt olabilir, ancak "normal" tanımı farklı olacaktır. Örneğin, bir proje haftada ortalama 5 böcek keşfettiğinde ve yeni proje haftada 10 böcek keşfettiğinde, bunun mutlaka bir şeyin yanlış olduğu anlamına gelmez. Sadece bu sefer test ekibi daha titiz olabilir. Ayrıca, "normal" tanımı projenin ömrü boyunca değişebilir.

Metrik sadece bir termometredir, onunla ne yaptığınız size kalmış.


Bununla ilgili başka bir hata, bazı durumlarda yararlı olabilir, kod satırı başına düşen hatalardır. Genel olarak, olgunlaşmış kod tabanları, halen geliştirilmekte olan uygulamaların aksine, kod satırı başına oldukça düşük sayıda hataya sahip olmalıdır.
rjzii

@Rob Z, herhangi bir metrikle, insanlar bu metriği optimize etmek için yeterli şeyi yapacaklardır. Kod satırı başına hata yapan bir geliştiriciye, yalnızca hatasız LOC sayısını artırmak için artırdıkları, kullanılmamış bir değişken tanıtmış olabilirsiniz (çünkü SLOC sayaçları birden çok noktalı virgül tespit edebilir). Tabii ki, bu da yapay olarak geçmesi gereken kod miktarını artırıyor.
Berin Loritsch

6

Kaynak kodu bir yükümlülük değil bir varlıktır. Bunu akılda tutarak, kod satırlarını ölçmek, bir ev inşa ederken harcanan dolarları izlemeye benzer. Bütçenin altında kalmak istiyorsanız bunun yapılması gerekiyor, ancak günde 1000 dolar harcamanın günde 50 dolar harcamaktan daha iyi olduğunu düşünmek zorunda değilsiniz; evin ne kadarının bu para için yapıldığını bilmek istersiniz. Bir yazılım projesinde kod satırlarıyla aynıdır.

Kısacası, kaynak kod için yararlı bir ölçüm yoktur, çünkü kaynak kodunu tek başına ölçmek faydalı değildir.


4

Kaynak kod basitçe bir dizi, seçim ve tekrarın birleşimi olduğu için. Üretmek için makul bir şekilde bekleyebileceğimiz en uygun yazılım parçasını tanımlasaydım, aşağıdaki gibi olurdu. Neredeyse% 100 test kodunu içeren yazılım, işi yapmak için gereken en az kod satırını kullanarak ve değişikliklere dayanacak kadar esnek.


2
% 100 kapsam, yalnızca tüm satırları değil tüm yolları kapsıyorsa yalnızca% 100'dür. Herhangi bir gerçekçi yazılım parçasında% 100 yol kapsama alanı belirlemek kötü bir hedef çünkü ulaşılması çok pahalı olacak ve yine de sadece tasarımın kendisinin değil, kodunuzun tasarlandığı gibi davrandığını söyleyeceğim. Ağzı açık güvenlik deliklerine sahip olabilirsiniz ve% 100 yol kapsama alanına sahip olabilirsiniz.
Joeri Sebrechts

+1 Daha fazla kaynak kodunun mutlaka daha iyi olması gerekmez.
Larry Coleman

Sadece çok basit uygulamalar% 100 test kapsamı için uygundur (kapsamı gereksiz kılar). Karmaşık yazılım için% 100 test kapsamı elde etmek hesaplama açısından pahalıdır (mümkün değilse). Bu gerçeği, yaklaşık 6 yıldan beridir sağlam gerekçelerle biliyoruz. İkincisi, testler yalnızca size bir hata bulmadığınızı söyler - yapısal kalite, boyut ya da karmaşıklık ile ilgili olmayan herhangi bir hata olmadığını garanti etmez (aynı zamanda oldukça uzun süredir bilinen bir şeydir.) Çalışırken bu gerçekleri bilmemek yazılımdaki termodinamik yasalarını bilmeyen bir fizikçiye benziyor, gerçekten.
luis.espinal,

@ luis.espinal Yazılım o kadar büyük ki hesaplamak için pahalı bir işlem inanılmaz derecede kötü yazılmış bir yazılımdır. Çalışma yazılımının nasıl yapılacağına dair hiçbir ipucunun olmaması yakındır.
Pablo Ariel

@PabloAriel - "Yazılım o kadar büyük ki hesaplamak için oldukça pahalı hesaplı" << Ben de öyle değil . Aslında okuduğunuzu düşündüğünüzü okuduğunuzdan emin olmak için yorumu okuyunuz (belki iki veya üç kez).
luis.espinal

4

KLOC sayımlarının performansı ölçmede neden faydasız (ve hatta zararlı) olduğunu gösteren bir fıkra.

Yıllar önce, KLOC'yi ekiplerin ve bireylerin performansının tek ölçüsü olarak kullanan büyük bir projede (şirketimizde 70+ kişi, müşterimizde 30 + kişi daha) çalıştım.

Y2K çabamız için (size ne kadar zaman önce olduğunu söyler :)) ekibimin sorumlu olduğu kodun bir bölümünü temizledik. 5 kişi için 3 aylık bir çalışmadan değil, yaklaşık 30.000 satırlık bir kod satırı yazdık. Ayrıca, yeni bir kodla birlikte, 3 aylık bir çalışma için çok iyi bir iş olan 70.000 kod satırı daha hurdaya çıkardık.

Çeyrek için sonuç: -40.000 kod satırı. Çeyrek sonrasındaki performans incelemesi sırasında, şirketten çeyreklik 20.000 satır kodun üretkenlik gereksinimlerimizi karşılamadığı için resmi bir tazminat aldık (sonuçta, araçlar -40.000 satır kod ürettiğimizi göstermişti). promosyonlar, eğitim, maaş artışı vb. için düşük performans göstermemize ve atlanmamıza neden oluruz. vb. proje yöneticisi ve KG ekibi müdahale etmedi ve kınadı geri aldı ve yerine bir övgüler aldı.

Birkaç ay sonra (böyle şeyler zaman alır) şirkete verimlilik standartlarını gözden geçirdiği ve fonksiyon noktası analizine dayalı yeni bir sistem oluşturmak için bir uzmanlar ekibi tuttuğunu söylemiştik.


Neden sadece farkları göstermedin?
reinierpost

Bence bu yapıldı. Ancak bir sistem bu kadar katıysa, bu kadar açık bir şekilde yanlış bir veri noktası göründüğünde alarm zillerini çalmaz bile.
41'de jwenting

2
Cevabınız KLOC yararsız olduğunu göstermez, nasıl kullanılacağını gösterir.
Neil N

2
üretkenlik ölçütü olarak onlara güvenmenin yetersiz kaldığını, tek ölçü aptalca olduğu için onlara güvendiğini gösteriyor. KLOC'yi üretkenlik ve hatta kalitenin ölçüsü olarak kullanan diğer projelerde, satır yüküne neden olan kodlama standartları (C ++ destek uygulamaları, her yerde kısa bir yorum ile ekstra boş satırlar, koşulları if if ifadesine bölerek) boşaltan sayıları kolayca azalttık. 3 satır, vb.)
jwenting

1
SLOC'yi bir verimlilik ölçütü olarak kullanmak aptalcadır ve muhtemelen asla iyi sonuçlar vermez. Sürdürülebilirliği ve kusur sayısını belirten bir kalite ölçütü olarak SLOC kullanılması, bu soruya daha önce değinilen tüm uyarılarla daha akıllıca olacaktır.
redcalx

2

Hiç kimsenin bahsetmediği / Birim testlerinin Kapsamını (birim testlerin uyguladığı kodun yüzdesi) bahsettiğine şaşırdım.

Kod kapsamı, uygulamanın yüzde kaçının felaketle sonuçlanmadığını bilmeniz açısından faydalıdır; geri kalan kullanışlılığı ile ünite testlerinin kalitesine bağlıdır.


kod kapsamı yanlış bir ölçümdür (yine de bazı kullanımları olabilir). Sadece daha yüksek kapsam elde etmek için saçma testler yazmaya davet ediyor. Ve elbette asla örtülmeyecek şeyler de var ve insanlar bunları yazmaktan kaçınmaya başlayacaklar. Örneğin, JavaDoc'u kod olarak işaretleyen kod kapsamı araçlarını gördüm ve bunun kapsamı dahil olmayacaktı. başka bir araç, tüm boş satırları testlerin kapsamına girmediği için işaretledi. Kodunuzdaki yorumlardan ve boşluklardan uzak durmanın umarım bazı ayarlayıcılar için birim testlerini kaçırmamaktan daha kötü olduğunu kabul edersiniz?
00’de

Kesinlikle, kötü ünite testleri birçok yönden yardımcı olduklarından daha fazla acı verir. Örneğin, tek bir onay almayan bir test paketi için% 100 kod kapsamı alabilirsiniz.
StuperUser

1

Ne kadar küçük olursa, genellikle o kadar iyi olur. Bu, SCM araçlarıyla ilgilidir, kod başına değil, ama çok ölçülebilir bir ölçüdür. Taahhüt ne kadar küçükse, her değişikliği bir atomik birim olarak görmek o kadar kolay olur; ne kadar kolay olursa, belirli değişiklikleri geri almak ve işler kırılınca kesin noktaya getirmek.

Hiçbir taahhüt yapıyı bozmadığı sürece ...


1

Bunlar, ilerleme açısından çok faydalı kesin ölçütler değildir , ancak kodun durumu hakkında genel bir fikir vermek için kullanılabilir.

Özellikle Siklomatik Karmaşıklık Belirli bir kod tabanının ne kadar modüler olduğunu görselleştirme açısından faydalı buldum. Genel olarak düşük bir karmaşıklık istiyorsunuz, çünkü bu modül başına kaynak sayısının düşük olduğu ve birçok modül olduğu anlamına geliyor.


1

Sık sık dev bir C ++ paketi üzerinde çalışıyorum ve Cyclomatic Complexity veya korkunç FanIn / FanOut'u yeniden canlandırmaya değecek sorunlu bir kod ararken genellikle aranacak iyi kırmızı bayraklar var. Buradaki problemleri çözmek genellikle kod tabanının tamamında iyileşmelere yol açacaktır.

Tabii ki bu rakamlar sadece neye bakmaya değer olduğuna dair bir ipucu olarak işlev görebilir. Bunu bir zorlu eşik yapmak, bundan sonra bir inşaatın başarısız olması veya bir taahhüdün reddedilmesi saçma olacaktır.


1

İşimde kod ölçümlerini kullandığım birçok durum var:

Kod yazarken

Günlük işimdeki en büyük ve belki de en önemli kullanım, Java geliştiricilerinin kodumun metriklerini (diğer şeylerin yanı sıra) sürekli tanımladığımız bir dizi kuralla karşılaştırıp kontrol eden ve kodumun uygulanmadığı yerleri işaretleyen bir aracı olan Checkstyle’de. bu kurallara uyun. Kod geliştirirken, bana geri çekilme ve daha iyi bir şeye yeniden yansıtma hakkında düşünmeme izin veren metotlarımın uzun sürdüğü, karmaşık veya eşleşmiş hale geldiğini bana gerçek zamanlı olarak söylüyor.

Geliştiriciler hiçbir zaman tüm durumlar için geçerli olmayacaklarından, tüm kuralları çiğnemekte tamamen özgürdür. "Kurallar" düşünceyi teşvik etmek ve "Hey, bunu yapmanın en iyi yolu bu mu?" Demek için varlar.

KG / Kod İncelemeleri Sırasında

Genellikle bir kod incelemesi yaparken yaptığım ilk şey, incelemekte olduğum kodun kod kapsamını kontrol etmek ve hangi kod satırının ele alındığını vurgulayan bir kod kapsamı aracıyla birlikte incelemektir. Bu bana test kodunun ne kadar kapsamlı olduğu hakkında genel bir fikir verir. Önemli kod iyi sınandığı sürece kapsamın% 20 veya% 100 olması umrumda değil. Bu nedenle, kapsanan yüzde bir miktar anlamsızdır, ancak% 0 kesin bir şekilde dikkatlice bakmak istediğim bir ağrı gibi göze çarpıyor.

Ayrıca, geliştiricinin tamam olduğunu kabul edip etmediğimi veya iyileştirmenin yollarını önerip öneremeyeceğimi görmek için, ekip tarafından kabul edilen hangi metriklerin 'kırıldığını' kontrol ediyorum. Bu geliştirme ölçütlerinin ekibimizde yeni kod yazmak için üzerinde anlaşmaya varılması, kodumuzu iyileştirmek için büyük adımlar attı. Çok daha az monolitik yöntem yazıyoruz ve şimdi tek sorumluluk ilkesinde çok daha iyiyiz .

Eski kodda trend geliştirmeler Etrafında geliştirmek istediğimiz birçok eski kod var. Herhangi bir zamandaki metrikler oldukça işe yaramaz, ancak bizim için önemli olan zamanla kod kapsamının artması ve karmaşıklık ve eşleşme gibi şeylerin azalmasıdır. Bu nedenle, ölçümlerimiz doğru yolda olduğumuzdan emin olmak için zaman içinde incelememizi sağlayan Sürekli Entegrasyon sunucumuza bağlanır.

Yeni bir kod temeliyle başa çıkma Kaynak kod metrik satırlarını ilk kez kullandığım hakkında, aşina olmadığım bir kod tabanına bakarken. Bu, birlikte çalıştığım diğerlerine kıyasla projenin kaba boyutunu hızla ölçmemi sağlıyor. Diğer ölçümleri kullanarak da projenin kalitesi hakkında daha kaba bir fikir edinebilirim.

Önemli olan şey metrikleri eğilim, tartışmalar veya ilerlemenin başlangıç ​​noktaları olarak kullanmak ve bunları kesin rakamlarla dini olarak yönetmemek. Ancak, doğru kullanıldığında doğru kodunuzu geliştirmenize yardımcı olabileceklerine inanıyorum.


0

S: Kaynak kod için yakalamak için yararlı ölçümler nelerdir?

İş için:

A: adam-saat sayısı

Kodlayıcı şefi için:

A: önemli değil. Bugün her şeyi yapalım

Kodlayıcının özgüveni için:

A: SLOC Sayısı (Kod Kaynak Satırı)

Coder'ın annesi için:

C: Bu yumuşak Fransız rulolarından daha fazla yiyin ve çay için

aşağıdaki yorumlara devam etti ...


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.