Praca w pojedynkę oznacza, że o ile nie ufasz nieznajomym, że sprawdzą kod w Twoim imieniu, będziesz musiał spojrzeć na sposób pisania oprogramowania, aby zachować jego jakość.
Przede wszystkim powinieneś mieć środki, aby upewnić się, że kod spełnia wymagania, a po drugie, że twój kod będzie stosunkowo łatwy do zmiany, jeśli później zdecydujesz, że coś jest nie tak. Moja sugestia byłoby zastosować Development Behavior Driven podejście z następujących powodów:
- BDD oznacza najpierw napisanie testu kodu. Dzięki temu cały kod jest objęty testami.
- BDD jest zasadniczo TDD, ale z nieco innym ukierunkowaniem i „językiem”. Oznacza to, że ciągle pracujesz nad kodem podczas pracy nad nim i używasz testów, aby upewnić się, że Twoje działania związane z refaktoryzacją są nadal zgodne z specyfikacją produktu.
- Język BDD zachęca do pisania testów w formie instrukcji, które zasadniczo kodują wymagania jako testy jednostkowe.
Chodzi o to, że ciągłe refaktoryzowanie kodu, nawet po zdaniu testów, oznacza, że skutecznie przeglądasz własny kod i używasz testów jednostkowych jako „dodatkowej pary oczu”, która upewnia się, że kod nie „ t zboczyć z wymagań zakodowanych w testach. Ponadto wysoki zasięg testu oparty na wymaganiach gwarantuje, że będziesz w stanie zmienić swój kod w przyszłości, nie spełniając wymagań.
Prawdziwym problemem dla Ciebie będzie to, czy będziesz w stanie wykryć potencjalne problemy w kodzie, które wskażą na potrzebę refaktoryzacji. Na rynku istnieje kilka narzędzi do profilowania, które mogą ci w tym pomóc, a także kilka innych narzędzi, które dotyczą wskaźników jakości kodu. Mogą one często powiedzieć ci wiele rzeczy, których brakuje w recenzjach kodu, i są koniecznością przy samodzielnym opracowywaniu projektów. Jednak w rzeczywistości kluczem jest doświadczenie, a gdy już będziesz miał zwyczaj bezlitości w refaktoryzacji, prawdopodobnie staniesz się bardziej krytyczny wobec własnego kodu. Jeśli jeszcze tego nie zrobiłeś, sugeruję przeczytanie książki Martina Fowlera na temat refaktoryzacji jako punktu wyjścia i szukanie dobrego interfejsu BDD API, który Twoim zdaniem będzie działał dla Ciebie w dowolnym języku, z którym zdecydujesz się współpracować.