Правило бойскаута

Правило бойскаута

@Stasoz

Мы все любим все чистое, ясное и понятное. С таким легче иметь дело, да и приятнее, согласись. Кроме когда ты сам пишешь код, в работе бывают задачи, когда ты имеешь дело с кодом другого программиста. 


Если тебе доводилось работать с кодом ранее, то просто внимательно прочитав все условия, можно найти дубликат, неоптимальный порядок выражений, условие, которое никогда не может быть выполнено.


Говорить о чистом коде можно бесконечно, и для этого нужно обозначить термин «рефакторинг». Все просто, это когда мы улучшаем код и его структуру, но не меняем его поведение и результат.


Рефакторинг включает в себя так называемое «правило бойскаута»: оставляй код как минимум столь же чистым, каким его принял.


Например, если вы ищете нож, и замечате, что вилка попала к ложкам, то не сложно по ходу дела положить все на свои места. Нам не нужно официального одобрения, чтобы сделать это. Так что, не поскупись «добротой душевной», и помоги на ходу другому деву. Для тебя это несложно, зато после тебя останется чисто.


Именно так работает правила бойскаута. Вот еще пример:

Перед нами – фрагмент кода, и нам нужно добавить новое условие в список имеющихся конструкций. Замечаем, что список реализован в виде большого блока if/else. Решаем, что его нужно переоформить в виде switch или оператора выбора, одновременно добавляя условие.


Как бы там ни было, но так код станет хоть на чуть, но лучше. Когда кто-то следующий возьмет в работу этот код после тебя, он сможет еще доработать его. Таким образом, рефакторинг вручную – не страшен. В конце концов, придумай хотя бы одну причину, почему бы этого не сделать?


Важно также не переусердствовать. Не нужно редактировать чужой код полностью. Особенно, если он работает. И особенно, если у тебя нет таковой задачи. 


Резюмирую. Если работать правильно, в том числе, подчищать концы, это пойдет только на пользу тебе, команде, клиенту, и тем, кто будет поддерживать наш код в будущем. Так что, чистоты вам, и в коде в том числе:)

Report Page