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

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

Чтобы лучше понять приведу аналогию. Вот я хочу сварить пельмени. Ищу рецепт - там примерно такое 1. Вскипятите воды 2. Добавьте соль и специи по вкусу 3. Закиньте пельмени 4. Варите 7-10 минут. И если мне будет непонятен какой-то пункт - я поищу его подробнее.

А мне пришлось читать примерно такое 1. Возьмите кастрюлю двумя руками 2. Убедитесь что в ней нет воды 3. Повернитесь и подойдите к крану 4. Поставьте кастрюлю в раковину 5. Откройте кран 6. Ждите 7. Закройте кран 8. Достаньте кастрюлю. И т.д. Возможно автор и мог это читать в процессе написания, но вот я нет. И после рефактора не только мне стало понятно что вообще в этом сервисе происходит.

В общем, когда пишете код - пишите его так, чтобы потом можно было поддерживать.

#it #programming #программирование #рефактор #refactor #говнокод