msusur/kodlama-pratikleri

Python ile yazılan çözümlerde print yerine `assert` statementi kullanilmali

Opened this issue · 9 comments

Doğrulama aşamasında print ile çıktı vereceğimize assert ile sonuçtan emin olduğumuzu belirtmeliyiz bence. Bu sayede uygulamayi çalıştırmadan sonucundan emin olabiliriz. Siz ne düşünüyorsunuz?

Böyle bir şey yapılacaksa diğer tüm dillerde de benzer test komutları kullanılmalı.

bence unit testleri yazmak gerekiyor. böylelikle basit bir şekilde test yazmak da öğrenilmiş olur. bununla alakalı bir issue acacaktım ama gerek kalmadı :)

Olabilir. Çünkü print veya import sys;sys.stdout.write gibi olaylarda verilmesi gereken çıktı kod okunurken anlaşılmıyor (özellikle karmaşık algoritmalarda)

bana kalırsa print vs gibi çıktı komutlarının kullanılıp kullanılmaması çok dert değil. ama testsiz case'ler dert olabilir. sonuç olarak @msusur test konusunda ne diyor onu da dinlemek gerek.

Kesinlikle katiliyorum ve destekliyorum. Hatta ve hatta PR'lardaki bosluklarin olmamasi ya da indentation rule'larinin farkli olmasi da beni cok rahatsiz ediyor ama ukalalik yapmamak icin sesimi cikartmiyordum.

Test konusuna donersek, evet bence cok guzel olur. Hatta sorularda da ornek ciktilar yerine test case'leri verebiliriz. Boylece once sorunun dogru cozumunu verip vermediginden emin oluruz sonra da kodu degerlendiririz. Benden 👍

yok abi bence çok haklısın. her dilin kendi style guide'ları var. oraları referans gösterebiliriz. Test case'ler soruların altlarında olmalı zaten. bu input, bu output'u çıkarır gibi.

assert zaten bir test statementi ve tam olarak dediğiniz yapiyor ("bu input bu outputu çıkarır eger cikarmazsa AssertionError raise eder") fakat her çözüm icin ayri ve bir kac farkli ornekten olusan bir unitttest yazilsa tadından yenmez.

@enderahmetyurt +1

kapasak mı? @msusur

Aslinda bunu bir CONTRIBUTING.md yarattiktan sonra kapatmayi dusunuyordum. Boylece kurallari guzelce ifade edebiliriz.