Давайте писать красиво: второй сезон «Конкурса красоты кода»
Когда я услышал про первый сезон конкурса, сразу подумал, что это мой шанс заявить о себе перед работодателями. Это было важно, потому что в 39 лет, будучи джуном без опыта, меня никто не хотел брать на работу. Резюме просто не проходило через фильтры HR-ов :)
Сложнее всего для меня было составить алгоритм, потому что задание было описано немного размыто, и его можно было интерпретировать по-разному. Я попытался предусмотреть все возможные варианты. Пока искал решение, параллельно освоил несколько новых технологий, что тоже оказалось полезным. И главное — я ещё раз убедился, что мечту никогда нельзя оставлять!
До конкурса я особо не заморачивался на «красоту» кода. Просто старался решать задачи на Leetcode и потом сравнивал свои решения с примерами. Но я считаю, что стремление писать красивый код нужно развивать, потому что с ним проще работать. Если ты можешь легко прочитать чужой код и сразу понять, что в нём происходит, ты сможешь его доработать или изменить без проблем.
Да, в первом сезоне я занял призовое место, но всё ещё не считаю, что пишу «красивый» код. Однако желание к этому стремиться меня очень мотивирует: развиваться, учиться у опытных программистов, общаться с ними. Их опыт не всегда найдёшь в интернете, так что живое общение — это просто супер. Можно, конечно, учиться самому, но это сложнее. Лучше найти наставника или команду, где будут внимательно проверять твой код. А план работы всегда один: декомпозиция задачи, алгоритм, реализация, тестирование, журналирование и документация. Чем проще и эффективнее — тем лучше. Есть даже шутка среди программистов, что лучший код — это тот, которого нет. Тогда точно нет багов, и поддерживать его не нужно :)
Некоторые скажут, что самый красивый код получается на функциональных языках. Я до них ещё не дошёл, пока пробовал только Java и Kotlin. Конечно, Kotlin короче и читабельнее, чем Java. Но в итоге всё зависит от самого программиста — хороший алгоритм будет выглядеть классно на любом языке. И грамотная документация сделает код ещё лучше.
Если будешь участвовать в новом сезоне, не сдавайся, даже если задачи покажутся сложными или непонятными. Решение придёт, главное — искать его.
Удачи!