Witaj na blogu prowadzonym przez Sebana. Spisuję tutaj swoje uwagi na różny temat. Przeważają tematy związane z Internetem, popieranymi przeze mnie rozwiązaniami dotyczącymi wykorzystania komputerów, oraz kilka innych.
Programista-sadysta
04 sierpnia 2008 | Klucze:
programowanie,
rails,
ruby,
Techblog
3 komentarze. trackback
Dziś pokażę kilka metod używanych przez sadystycznych programistów to znęcania się nad swoim kodem źródłowym ... i sobą czasem też.
Flog
Flog to zabaweczka przygotowana przez ruby.sadi.st, a jej zadaniem jest ,,punktowanie'' kodu źródłowego.
% flog model.rb
Total score = 14.1985433422944
Finance#none: (11.8)
2.2: named_scope
2.2: belongs_to
1.6: month
1.4: ago
1.3: branch
1.3: lambda
1.1: assignment
1.1: validates_numericality_of
1.1: validates_length_of
0.8: lit_fixnum
,,Najciężyszym'' kodem według Floga jest Because that's what I decided felt right based on experience.
Heckle
Heckle to kolejna zabawka od ruby.sadi.st. Zadaniem Heckla jest mutować napisany przez nas kod tak by
rcov
O tak! rcov jest tym co lubię i tym czego często używam. Rcov służy do sprawdzenia pokrycia kodu przez testy. W uproszczeniu jest to uruchomienie testu i sprawdzanie, które linie kodu źródłowego zostały uruchomione. Wyniki mogą być prezentowane bezpośrednio na wyjściu lub generowania plików HTML pokazujących pokrycie. 
Kolejną zabawką jest Saikuro - analizator złożoności kodu. Sprawdza on długość metod (ilość linii) oraz złożoność tychże. Przykładowe rezultaty Saikuro. Czym większy współczynnik złożoności tym gorzej. Taka metoda jest ciężka do zrozumienia i przetestowania np. by ją w pełni przetestować trzeba uwzględnić 20 przypadków testowych.
Narzędziem, które integruje to wszystko w jedno jest Metric_fu plugin do Railsów. Bardzo fajne efekty można osiągnąć łącząc go z narzędziami do ciągłej integracji.
Może mały konkurs kto ma najwięcej punktów we Flogu i największy wynik w saikuro? Kto się odważy? ;)
KOMENTARZE
06 sierpnia 2008 | Ivyl |
FLOG
Total score = 1136.76662522135
ale to akurat dla Merb + DataMapper + RSpec
flog jakoś strasznie lubi punktować it „should …” + nazwy klas
z lenistwa i przypuszczając, że Saikuro nie będzie działa z wyżej wymienionym zestawem odpuściłem go sobie
06 sierpnia 2008 | Seban |
No to w jaki sposób on punktuje nie jest do końca jasne … Ten score to jest dla całego projektu czy jednej klasy czy jak?
06 sierpnia 2008 | Ivyl |
Go akurat cały projekt w Merbie.
Prosty model DM dostaje:
Total score = 47.1667655052039
