Transcript
00:00:00Знаете ли вы, почему некоторые люди, кажется, никогда не растут как разработчики, хотя тратят годы в
00:00:04этой сфере? Здесь задействованы разные факторы. И одна из причин — непонимание
00:00:09фундаментальных принципов программирования. Это не просто теория, которую вы учите один раз
00:00:14и забываете. Это реальные вещи, которые действительно помогут вам быстрее расти как разработчику.
00:00:19Давайте начнем с первого принципа, правила бойскаутов. Этот принцип пришел от бойскаутов Америки.
00:00:25В общем, у них есть одно простое правило: оставьте место стоянки чище, чем оно было до вас.
00:00:31Не знаю, сколько из вас знают "Дядюшку Боба", но именно он популяризировал эту концепцию
00:00:36в сообществе программистов. Она заключается в том, чтобы оставлять код чуть чище, чем вы его нашли.
00:00:41При внесении изменений в существующую кодовую базу качество кода часто снижается, что может
00:00:47увеличить технический долг. А технический долг можно сократить постоянными улучшениями,
00:00:52независимо от того, насколько они малы. Например, вам поручили внести изменение в
00:00:57значение в этой функции. Вы это сделали, но видите, что название переменной недостаточно
00:01:03понятно. Как и большинство разработчиков, вы могли бы просто проигнорировать это и закоммитить свою задачу.
00:01:08Но если следовать этому принципу, вы также измените название переменной на более
00:01:12понятное. Это просто пример. Не только названия переменных, но если вы видите что-то,
00:01:18что можно улучшить — сделайте это. Этот простой жест принесет огромную пользу кодовой базе.
00:01:24Второй принцип: избегайте преждевременной оптимизации. Это означает, что не пытайтесь сделать свой
00:01:30код быстрее, прежде чем в этом возникнет реальная необходимость. Сначала добейтесь, чтобы он работал. Только потом оптимизируйте, если нужно.
00:01:36Есть знаменитая цитата Дональда Кнута: "Преждевременная оптимизация — корень всех зол".
00:01:42Это правда, потому что программисты часто тратят большую часть времени, беспокоясь о скорости
00:01:47некритичных частей своих программ. Это из-за этой модной концепции
00:01:51оптимизации всего подряд. Этот принцип не против оптимизации вашего кода. Он о
00:01:57понимании того, что нужно оптимизировать, и, что самое важное, когда это делать. И я думаю, это
00:02:03слабость большинства разработчиков, потому что я видел, как люди используют микросервисы, хотя у них
00:02:08100 пользователей, или добавляют кэширование там, где это даже не требуется. Третий принцип:
00:02:14пишите код для сопровождающего, что просто означает: пишите код таким
00:02:19образом, чтобы будущим разработчикам, которые будут поддерживать ваш код, не пришлось мучиться,
00:02:23разбираясь в нем. Ведь код, который вы пишете сегодня, будут сопровождать другие разработчики или
00:02:29вы сами. Если вы сейчас просто сосредоточитесь на том, чтобы это работало, и не подумаете о ясности, то в будущем,
00:02:35когда вам придется вернуться к этому коду, вы с трудом поймете, что происходит. Просто посмотрите на
00:02:39этот пример. Оба работают и выполняют одну и ту же функцию. Но какой из них вы бы предпочли
00:02:45увидеть в своей кодовой базе? Так что вывод: когда бы вы ни писали или генерировали код с помощью ИИ,
00:02:50всегда убеждайтесь, что он понятен и поддерживаем, прежде чем фиксировать свою работу.
00:02:55Четвертый принцип называется YAGNI, что является сокращением от "Вам это не понадобится" (You Ain't Gonna Need It).
00:03:01Этот принцип просто означает, что не следует строить то, что вам сейчас не нужно, только потому,
00:03:06что, возможно, это понадобится в будущем. Потому что у большинства разработчиков есть привычка предугадывать, что
00:03:10им может понадобиться в будущем. Но в большинстве случаев это никогда не используется и лишь добавляет лишнюю
00:03:16сложность проекту. Всегда помните об этом. Если вы работаете над тем, что может потребоваться в
00:03:21будущем, вы не тратите время на то, что нужно прямо сейчас. Пятый принцип: делайте самое
00:03:27простое, что может работать. Это значит, что при столкновении с проблемой всегда выбирайте
00:03:32самое простое решение, которое действительно сработает. Не переусложняйте. Не занимайтесь излишним инжинирингом. Просто спросите
00:03:38себя: "Что самое простое может решить это прямо сейчас?". Эта идея пришла из экстремального
00:03:43программирования, которое велит нам сначала построить что-то простое, а затем отрефакторить это в нечто
00:03:48лучшее. Большинство разработчиков этого не понимают, но они часто пытаются создать идеальное решение с
00:03:53самого начала, что в конечном итоге переусложняет их код. С этим принципом вы получите работающий
00:03:59код быстрее, и даже если его придется потом изменить, это обычно легче, чем исправлять сложный
00:04:04дизайн, который изначально был неверным. И поверьте, как разработчику, вам важно осознавать, когда вы занимаетесь оверинжинирингом.
00:04:10Это были пять принципов программирования, которые вам следует начать
00:04:14применять прямо сейчас. Помимо них есть и другие принципы, которые я не осветил
00:04:19в этом видео. Если оно было полезным, дайте знать в комментариях, и я сделаю вторую часть.
00:04:24На сегодня всё. Обязательно поддержите видео, и увидимся с вами в следующем!
Community Posts
No posts yet. Be the first to write about this video!
Write about this video