Уметь программировать - это навык, который требует хороших знаний, чтобы его ценили. И я могу сказать, что многие разработчики не могут понять искусство, скрывающееся за куском кода, когда они его видят.
Чтобы быть хорошим программистом, нужно не только написать несколько строк кода, но и написать удобные для чтения и продуктивные программы, которыми легко управлять и при необходимости обновлять в будущем. Кодирование стало одним из самых распространенных занятий людей. Однако их методы кодирования часто остаются безупречными.
У каждого из нас свой способ писать эти волшебные строки. Некоторые используют пробелы, а некоторые нажимают табуляцию; некоторые используют комментарии, а другие считают их бесполезными. Со временем улучшается не только качество кода, но и применяемые методы. Здесь я попытался обобщить лучшие практики кодирования, которые могут показаться незначительными для некоторых читателей, но, конечно же, их нельзя упускать из виду. Для начинающих программистов это могут быть мантры, которые останутся с ними до конца. Так почему бы не погрузиться в это прямо сейчас!
Написание читаемого кода
На первый взгляд удобочитаемость может показаться субъективной, что может варьироваться в зависимости от языка, кодовой базы и команды. Но если вы посмотрите ниже, во всех частях кода есть основные элементы, которые делают их удобочитаемыми. Вот несколько хороших практик, которые я усвоил в процессе программирования:
- Избавление от мертвого кода. При написании программ мы часто добавляем ненужные фрагменты кода. Они создают для программиста не что иное, как путаницу, когда проходят их в какой-то момент в будущем. Попробуйте избавиться от таких кусков мертвого и бесполезного кода.
- Правильное форматирование. Форматирование кода - одна из тех вещей, которые вы замечаете только тогда, когда его нет. Использование правильных отступов, заглавных букв, соглашений об именах и т. Д. Может показаться устаревшим, но на самом деле это одно из самых важных качеств, которыми обладает хороший программист.
- Объекты важнее процедур. Использование объектов при написании кода имеет преимущество перед процедурными методами. Это помогает кодировщику с точки зрения возможности повторного использования кода, избыточности данных, безопасности, поддержки кода и повышения производительности.
- Понятные соглашения об именах. Хорошие программисты используют правильные и понятные соглашения об именах для именования функций и переменных.
- Комментирование. Краткие и описательные комментарии перед каждой важной частью кода могут помочь другим понять, что этот фрагмент кода фактически делает в основной программе.
- Следование симметрии. И последнее, но не менее важное: соблюдение симметрии при написании кода высоко ценится и является одним из признаков хорошего программиста. Равные отступы и пробелы, используемые во всем коде, делают его понятным и легким для чтения, а также упрощает отладку.
Общие сведения об управлении версиями
Будь то личные проекты или проекты на уровне организации, контроль версий - один из самых важных навыков для разработчика. Это инструмент, который помогает разработчикам / программистам решать некоторые повседневные проблемы, такие как отслеживание изменений в коде, поддержка кода и позволяет им работать с одними и теми же файлами исходного кода, не влияя на рабочий процесс друг друга.
Концепция контроля версий часто реализуется с помощью специальных видов систем, называемых системами контроля версий (VCS). Эти системы претерпели множество изменений за последние годы.
Системы контроля версий - это особые типы инструментов разработки программного обеспечения, предназначенные для помощи разработчикам программного обеспечения в отслеживании любых изменений, внесенных в исходный код конкретного приложения. Самая популярная система контроля версий, которую сегодня используют миллионы разработчиков и программистов по всему миру, - это Git. Однако есть и другие VCS, такие как PerForce, Beanstalk и т. Д., Которые довольно распространены.
Сам по себе контроль версий стал одной из важнейших частей жизни программиста. Использование VCS дает следующие преимущества:
- Совместное участие. Основное преимущество VCS заключается в том, что она позволяет нам вносить свой вклад в проекты, которые нам нравятся, несмотря на то, что мы находимся в разных местах, не нарушая при этом саму программу.
- Цели тестирования. Наличие разных клонов одного и того же программного проекта может помочь людям протестировать новые функции, если таковые имеются, и убедиться, что они работают правильно.
- Сохранение истории. Эти системы помогают нам хранить резервную копию и регистрировать изменения, внесенные в конкретный файл кода, что может помочь другим понять, как возникла конкретная часть этого кода.
- Резервные копии: Одно из наиболее важных преимуществ использования системы контроля версий заключается в том, что каждый раз, когда участник клонирует репозиторий, он в некотором смысле создает дополнительную резервную копию текущей версии этого репозитория.
VCS может показаться очень отрывочным для некоторых, но, честно говоря, это не так. Это всего лишь один из наборов инструментов, призванных облегчить жизнь разработчика, хотя…
Искусство поиска ошибок в Google - Отладка
Кодеры проводят долгие часы за отладкой, изучая кодовую базу и выясняя, что именно пошло не так. Это распространено среди разработчиков, которые не знают правильных методов поиска ошибок и их исправления. Становится легко изучить правильный подход, которому нужно следовать, чтобы убить эту ошибку, скрытую внутри вашего кода, как этих тараканов на вашей кухне.
- Поиск в Google: я не собираюсь сортировать эти советы по полезности, но сообщения об ошибках поиск в Google являются первыми по какой-то причине. Если вы не можете понять сообщение об ошибке с первого раза, самый простой способ решить проблему - это отправить сообщение об ошибке в Google.
- Журнал (все). Ведение журнала - один из самых популярных способов отладки кода. Использование таких операторов, как console.log () или print () в правильных позициях, может помочь вам понять, что не так с вашим кодом.
- Локализация программы. Основная идея метода локализации проблемы состоит в том, чтобы комментировать / удалять код шаг за шагом, пока вы не выясните, что пошло не так. Это полезно, когда вы довольно долго пишете алгоритм, не компилируя и не выполняя приложение.
- Анализировать журналы: Да, я понимаю. Просмотр этих скучных и длинных журналов большую часть времени может быть утомительным, но это может помочь вам понять проблемы с вашим кодом.
- Спросите друга. Один из лучших, но недооцененных методов отладки - это просто спросить друга. Хорошие разработчики всегда готовы помочь.
- Отладка резиновая уточка: это лучшее, что я узнал за весь свой опыт программирования. Метод предлагает начать объяснять ваш код резиновой утке построчно, и вы в конечном итоге заметите крошечные детали вашего кода, которые могут создать реальные проблемы. Вы можете прочитать об этом в разделе Отладка резиновой утки.
Забавно, как маленькая резиновая уточка может помочь вам исправить большую часть ошибок в вашем коде.
- Отладчик на помощь. Я полагаю, что большинство разработчиков уже знакомы с тем, как работают отладчики и зачем их использовать. Но, как личное мнение, использование отладчиков убивает ваши аналитические и мыслительные способности, поэтому я сохраняю этот момент как последний вариант, который вы должны рассмотреть.
Хорошая документация
Умение писать хороший код - это хорошо, но умение писать хорошие документы - ну ... это талант. Но зачем писать эти длинные документы после нескольких часов написания кода? Ответ на этот вопрос прост: рассказать другим людям об основных особенностях вашего кода.
Документирование ваших программ считается одним из лучших практик в культуре программирования. Это помогает не только другим, но и нам самим. Хороший способ начать - просто обновить README.md для своих проектов. Иногда бывает сложно запомнить большие фрагменты кода (на самом деле большую часть времени), но просмотр хорошо оформленной документации может помочь вам понять код позже в какой-то момент времени, когда вы, возможно, будете чесать голову, пытаясь понять, почему вы написали эта конкретная часть кода.
Теперь возникает вопрос: что делает документацию хорошей?
Люди часто думают, что ценность документов субъективна или не поддается количественной оценке. Так бывает редко.
Ценность письма заключается в том, что его можно написать один раз и передать много раз, тогда как формы общения при личной встрече или в режиме реального времени необходимо повторять каждый раз, когда новому человеку нужна информация.
Вопрос здесь не в том, «как» задокументировать, а в том, «что» задокументировать?
- Задокументируйте вопросы, которые четко или вероятно будут заданы
- Когда вам задают новый вопрос, вы можете написать его общепринятым способом, если это возможно, и быстро вставить его в лучшее место в структуре вашего документа.
Итак, что же не следует документировать? Даже у этого есть ответ.
- Вещи, о которых никто не заботится
- Вещи, которыми вы гордитесь, но на самом деле заботитесь только о вас, например, насколько усердно вы работали - расскажите маме или напишите сообщение в блоге.
Уловка состоит в том, чтобы предвидеть вероятную аудиторию по предмету и то, что им, вероятно, нужно знать.
Вот вам и ценность документа.
А как насчет качества документа? Разве это не субъективно?
Нет, совсем нет. У Дока есть работа. Это хорошо, поскольку выполняет эту задачу; это абсолютный и полностью объективный стандарт качества технической документации. Предположим, я пишу документ для опытных инженеров Kotlin, и из 100 инженеров 23 его понимают. Каким бы умным я себя ни считал, я потерпел поражение. Этот счет спасет очень немногих людей в любое время.
Хорошая документация следует принципу 4C, который гласит, что ваша документация должна быть:
- Кратко. Написание большего количества слов, чем требуется, определенно не приветствуется. И читатели часто не обладают достаточным терпением, чтобы прочитать то, что не приносит пользы. Так что вытрите лишние слова из своих документов!
- Завершено: постарайтесь включить все, что кто-то может захотеть узнать. Пожалуйста, не включайте вещи, которые не помогут другим людям в их работе.
- Верно. Попросите кого-нибудь, кто понимает ваше содержание, проверить его на правильность. Если читатели сочтут ваш документ неточным, они зададутся вопросом, зачем им больше читать вашу работу. В некоторых ситуациях ошибочная информация может нанести серьезный вред.
- Ясность: ясность - это цель. Если ваша целевая аудитория не понимает ваши документы, ваши документы непонятны.
Ну да, это все, что вам нужно знать, чтобы стать хорошим программистом. Это непросто, но это навык, который можно развить на практике.
Информатика предназначена не только для умных "ботаников" в толстовках, которые пишут код в своих подвалах. Кодирование - чрезвычайно творческий подход и является неотъемлемой частью почти каждой отрасли.
- Решма Сауджани