Kod Analiz Araçlarından Yararlanın

Testin değeri, yazılım geliştiricilere programlama yolculuklarının ilk aşamalarından itibaren dahil edilen bir şeydir. Son yıllarda birim testinin, teste dayalı geliştirmenin ve çevik yöntemlerin yükselişi, geliştirme döngüsünün tüm aşamalarında testten en iyi şekilde yararlanmaya olan ilgide bir artış gördü. Ancak test etme, kodun kalitesini artırmak için kullanabileceğiniz birçok araçtan yalnızca biridir.

Zamanın sisli zamanlarında, C'nin henüz yeni bir fenomen olduğu zamanlarda, CPU zamanı ve her türlü depolama çok değerliydi. İlk C derleyicileri bunun farkındaydı ve bu nedenle bazı anlamsal analizleri kaldırarak yaptıkları koddan geçiş sayısını azalttı. Bu, derleyicinin, derleme zamanında tespit edilebilecek hataların yalnızca küçük bir alt kümesini kontrol ettiği anlamına geliyordu. Bunu telafi etmek için Stephen Johnson, lint adlı, kodunuzdaki tüyleri kaldıran bir araç yazdı ve bu araç, kardeş C derleyicisinden kaldırılan bazı statik analizleri uyguladı. Bununla birlikte, statik analiz araçları, her zaman takip edilmesi gerekmeyen üslup kuralları hakkında çok sayıda yanlış pozitif uyarı ve uyarı vermesiyle ün kazandı.

Mevcut diller, derleyiciler ve statik analiz araçları manzarası çok farklıdır. Bellek ve CPU zamanı artık nispeten ucuzdur, bu nedenle derleyiciler daha fazla hata olup olmadığını kontrol edebilir. Hemen hemen her dilde, stil kılavuzlarının ihlallerini, yaygın yakalamaları ve bazen potansiyel boş gösterici referansları gibi yakalanması zor olabilecek kurnaz hataları kontrol eden en az bir araç bulunur. Splint for C veya Pylint for Python gibi daha karmaşık araçlar yapılandırılabilir, yani aracın bir yapılandırma dosyasıyla, komut satırı anahtarları aracılığıyla veya IDE'nizde hangi hataları ve uyarıları yayınlayacağını seçebilirsiniz. Splint, programınızın nasıl çalıştığı hakkında daha iyi ipuçları vermek için yorumlarda kodunuza açıklama eklemenize bile izin verir.

Her şey başarısız olursa ve kendinizi derleyiciniz, IDE veya tiftik araçlarınız tarafından yakalanmayan basit hatalar veya standart ihlalleri ararken bulursanız, o zaman her zaman kendi statik denetleyicinizi çalıştırabilirsiniz. Bu kulağa geldiği kadar zor değil. Çoğu dil, özellikle dinamik markalı olanlar, standart kitaplıklarının bir parçası olarak soyut sözdizimi ağaçlarını ve derleyici araçlarını sunar. Kullanmakta olduğunuz dilin geliştirme ekibi tarafından kullanılan standart kitaplıkların tozlu köşelerini tanımaya değer, çünkü bunlar genellikle statik analiz ve dinamik testler için yararlı olan gizli mücevherler içerir. Örneğin, Python standart kitaplığı, derlenmiş bir kod veya kod nesnesi oluşturmak için kullanılan bayt kodunu size söyleyen bir ayrıştırıcı içerir. Bu, python-dev ekibindeki derleyici yazarları için belirsiz bir araç gibi görünüyor, ancak aslında günlük durumlarda şaşırtıcı derecede faydalıdır. Bu kitaplığın parçalarına ayırabileceği bir şey, son yığın izlemenizdir ve tam olarak hangi bayt kodu talimatının yakalanmamış son istisnayı attığı konusunda size geri bildirim verir.

Bu nedenle, testin kalite güvencenizin sonu olmasına izin vermeyin - analiz araçlarından yararlanın ve kendinizinkini kullanmaktan korkmayın.

Sarah Mount Tarafından

Last updated