Копилка с дыркой: что такое опыт и стоит ли хранить всё?

Очень мы любим накапливать опыт. Где-то по крупицам, где-то сквозь бессонные ночи, где-то перенимая у более опытных, набиваем свою собственную копилку опыта. И кажется всё правильно делаем, ведь не может быть такого, чтобы опыт был вреден. Столько всего пройдено и осмыслено. Столько всего применено и опробовано. Не голова, а сокровище.

Может быть и так, особенно если пользоваться этим опытом с умом. Давайте предположим, что наша копилка с опытом является банальным хранилищем, в которое мы помещаем свои знания. Сейчас мы добавим сюда одно очень важное поле. Но перед этим поймём, а почему нам вообще приходится постоянно накапливать опыт? Повышать свой уровень? Да потому, что мир вокруг меняется с такой скоростью, что постоянно есть белые пятна.

Так ведь раз мир меняется, значит не только есть белые пятна, но и ранее приобретённый опыт актуальность свою потерял. А вот как узнать, что актуально, а что уже не очень?

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

А то ведь как бывает, попадается опытный разработчик и пишет нечто подобное:

if (0 == err) {
    // do something
}

И спроси его, а зачем ты так пишешь? Почему в таком порядке операнды сравнения?

На что он вздохнет опытно, посмотрит снисходительно и выдаст мол, если написать наоборот и по ошибке оставить вместо двух знаков «==» только один, получится трудно выявляемая ошибка. Что-то типа такого пугает его:

if (err = 0) {
    // do something
}

И ведь прав будет. Точнее был. Потому, что забыл записать год, когда такой опыт получил. Сейчас бы самое время проверить, а не протух ли он?

Современный компилятор и не в такое носом ткнёт, да так что стыдно будет. В современном мире такая «тыкалка» получила название статический анализатор. Они же «предупреждения» компилятора.

Копилка знаний должна иметь возможность не только кидать туда опыт, но и выбрасывать. Только осторожнее — выбрасывать можно только старый и только после проверки на актуальность.

Есть вопрос? Напишите в комментариях!