Копилка с дыркой: что такое опыт и стоит ли хранить всё?
Очень мы любим накапливать опыт. Где-то по крупицам, где-то сквозь бессонные ночи, где-то перенимая у более опытных, набиваем свою собственную копилку опыта. И кажется всё правильно делаем, ведь не может быть такого, чтобы опыт был вреден. Столько всего пройдено и осмыслено. Столько всего применено и опробовано. Не голова, а сокровище.
Может быть и так, особенно если пользоваться этим опытом с умом. Давайте предположим, что наша копилка с опытом является банальным хранилищем, в которое мы помещаем свои знания. Сейчас мы добавим сюда одно очень важное поле. Но перед этим поймём, а почему нам вообще приходится постоянно накапливать опыт? Повышать свой уровень? Да потому, что мир вокруг меняется с такой скоростью, что постоянно есть белые пятна.
Так ведь раз мир меняется, значит не только есть белые пятна, но и ранее приобретённый опыт актуальность свою потерял. А вот как узнать, что актуально, а что уже не очень?
Предлагаю простое решение. Когда наступил момент положить в копилку новое знание, не поленитесь, чиркните рядом хотя бы год, когда это знание у вас появилось. Потом, когда решите, что знание на практике можно применять, проверьте дату, вдруг протухло уже. Выбрасывать может и не стоит, но вот применять точно следует с осмотрительностью.
А то ведь как бывает, попадается опытный разработчик и пишет нечто подобное:
if (0 == err) { // do something }
И спроси его, а зачем ты так пишешь? Почему в таком порядке операнды сравнения?
На что он вздохнет опытно, посмотрит снисходительно и выдаст мол, если написать наоборот и по ошибке оставить вместо двух знаков «==» только один, получится трудно выявляемая ошибка. Что-то типа такого пугает его:
if (err = 0) { // do something }
И ведь прав будет. Точнее был. Потому, что забыл записать год, когда такой опыт получил. Сейчас бы самое время проверить, а не протух ли он?
Современный компилятор и не в такое носом ткнёт, да так что стыдно будет. В современном мире такая «тыкалка» получила название статический анализатор. Они же «предупреждения» компилятора.
Копилка знаний должна иметь возможность не только кидать туда опыт, но и выбрасывать. Только осторожнее — выбрасывать можно только старый и только после проверки на актуальность.
Есть вопрос? Напишите в комментариях!