<p>Tak jak kaszel może być objawem poważnej choroby (który nie sprawia jednak wrażenia niczego poważnego) tak są pewne pozornie nie groźne, objawy problemów rodzących się, lub mocno już rozwiniętych, w systemie nad którym pracujemy. Sam termin Code Smells został ukuty przez Kenta Becka i jak sama nazwa wskazuje oznacza woń rozkładu naszego kodu :). Tak jak kaszel możemy zbagatelizować, tak i możemy przymknąć oko na przyciężkawy zapaszek zionący z naszego kodu i tutaj analogia się wcale nie kończy bo jeżeli na kaszel zareagujemy szybko tym szybciej będziemy zdrowi (a na pewno zdrowsi niż gdybyśmy nie zareagowali ;)) . Reakcja na code smells pozwoli nam trzymać kod w ryzach, tak żeby nie zdegenerował nam się do nieakceptowalnego poziomu, skąd już nie ma odwrotu. Oczywiście trzeba mieć na uwadze, że nie każdy kaszel oznacza zapalenie płuc lub nowotwór. Czasami nie ma wyjścia i niektóre powiewy nieświeżości muszą po prostu być. Nie mniej warto się nad nimi dwa razy zastanowić i nie bagatelizować objawów :).</p>
<p>Dosyć bełkotu. Czym mogą być wspomniane zapachy (tudzież smrody)? Może to być długa metoda, warunek, gdzie if ifa ifem pogania, klasa z rodzaju tysięczników. może to też być komentarz w kodzie, źle dobrana nazwa czy po prostu, nieużywany już kod. Żeby przejrzeć sobie klasyfikację code smells polecam przeczytać sobie <a href="http://mikamantyla.eu/BadCodeSmellsTaxonomy.html" target="_blank">to</a>.</p>
<p>W związku z tym, że interesuję się dosyć mocno refaktoryzacją i clean code, to postanowiłem napisać serię wpisów dotyczącą kwestii code smells zwłaszcza, że nie ma zbyt wielu tekstów na ten temat w języku polskim . Postaram się omówić każdy i podać pewne sposoby radzenia sobie z nimi – niektóre wpisy będą dłuższe, inne krótsze niemniej myślę, że zwłaszcza dla początkujących będą wartościową (mam nadzieję) lekturą. Tymczasem zapraszam wkrótce. 🙂</p>