66 рекомендаций, улучшающих навыки программиста

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

Представление кода

  • Применяйте табуляцию и пробелы. Выберите для себя удобную манеру расположения скобок: на новой либо той же строке.
  • Хорошее форматирование – не то, которое выглядит лучше, а то, которое упрощает просмотр и чтение кода.
  • Правильное представление кода должно дать понять, как он работает, а также помочь избежать ошибок.
  • Пишите код, понятный человеку.
  • Выберите один стиль программирования и применяйте только его или воспользуйтесь любым общепринятым стандартом.
  • Если вы работаете в файле, форматирование которого не соответствует общему соглашению остальной части проекта, следуйте соглашениям стиля в этом файле.

Именование

  • Хорошее имя должно правильно и понятно описывать объект.
  • Вы сможете дать объекту правильное название, если точно понимаете его смысл.
  • Избегайте избыточности. Это показатель того, что вы не продумали имена в процессе проектирования.
class ItemList {
    public int numberOfItems () {…}
}
// numberOfItems неоправданно длинное. Item можно переименовать в size или length
  • Применяйте соглашения об использовании заглавных букв вашего ЯП.
  • Убедитесь, что выбранные имена не содержат орфографических ошибок.

Пишите меньше кода

  • Много кода – залог большого количества ошибок.
  • Чем больше кода, тем больше читать и сложнее уловить смысл.
  • В большой программе много мест для скрытых багов, которые сложно отследить.

Избегайте ненужного кода

  • Самая распространенная ошибка – это использование ненужных условных операторов и повторение логических конструкций.
// пример
if (expresion) {
  return true;
} else {
  return false;
}
// а можно написать так
return expresion;
  • Улучшайте навыки программиста, пишите лаконичный и чистый код. Длинные и запутанные строки кода не делают его ценнее.
  • Автоматически сгенерированному коду не место в программе.
  • Удаляйте код (если это безопасно), который не задействован, а если ошиблись, всегда можно восстановить из Git.

Дублирование

  • Не плодите повторяющиеся куски кода. Создайте несколько методов и разбейте функционал на мелкие задачи.
  • Если вы заметили дублирование – избавьтесь от него.
  • Переделайте "дубляжи" в полезный код.

Мертвый код

  • Мертвый код – это код, который не работает, и никогда не будет запускаться.
  • Уберите неиспользуемые переменные и функции.
  • Оптимизируйте параметры, передаваемые методам.
  • Удалите бесполезные enums, structs, классы и интерфейсы.
  • Удаляя функционал, не забудьте очистить фронтенд и бекенд от него.

Комментарии

  • Хороший код зачастую не нуждается в объяснении того, как он работает.
  • Убедитесь, что каждый комментарий вносит ясность.
  • Не комментируйте код вместо удаления. Это сбивает читателя с толку и очень мешает.

Оглядывайтесь назад

  • Время от времени просматривайте старый код. Это поможет увидеть, как изменился стиль, и какие проблемы остались.
  • Пробуйте переписать прежний код используя новые знания.

Устранение ошибок

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

Будьте готовы к неожиданностям

  • В каждом логическом куске кода обращайте внимание на все возможные "глючные" места.
  • Нашли ошибку – исправьте.
  • Убедитесь, что вы применяете обработку ошибок и используете для этого соответствующие языковые механизмы.
  • Не откладывайте обработку "странностей" на потом: вы все забудете, и код будет сбоить.

Охота за ошибками

  • Сведите появление ошибок к минимуму.
  • Убедитесь, что вы сосредоточены на одной проблеме.
  • По мере разработки программного обеспечения выделяйте время на написание модульных тестов.
  • Разберитесь, как использовать отладчик, и применяйте его.
  • Не позволяйте багам накапливаться.

Всегда тестируйте свой код

Юнит-тесты выполняют отдельный функциональный кусок кода в изолированной среде, чтобы гарантировать, что все работает правильно.

  • Чтобы улучшить разработку ПО, нужно быстро получать информацию о проблемах, как только они появляются.
  • Пишите тесты по мере написания кода. Не откладывайте, иначе они не будут эффективными.
  • Все тесты должны выполняться на билд-сервере как часть цепочки continuous integration.
  • Глобальные переменные и синглтоны затрудняют тестирование, т. к. сложно тестировать объекты со скрытыми зависимостями.
  • Проводите рефакторинг кода, чтобы сделать его "тестируемым" и "причесать".

Борьба с запутанностью

  • Чтобы получить простой и понятный код, требуется масса знаний, опыта и сил.
  • Запутанность – это, как правило, случайная величина, зависящая от опыта и количества программистов, работающих над кодом.
  • Если у вас нет корректного ТЗ, отложите применение важных изменений в проекте до их согласования.

Практика улучшает навыки программиста

  • Развивайте в себе хороший вкус и чувство эстетики, чтобы писать достойный код.
  • "Хорошая разработка" программного обеспечения приходит к каждому со временем. К этому роду деятельности нужно прийти серьезно и обдуманно, а иначе ничего не выйдет.
  • Работайте со смирением и примите тот факт, что вы знаете далеко не все.

Вместо точки

  • Пишите понятный и очевидный для других код.
  • Научитесь признавать свои ошибки и неудачные решения. Учитесь на них, чем сможете проапгрейдить навыки программиста.
  • Лучше делать серию частых небольших изменений, чем одно большое: последнее обычно приводит к серьезным проблемам.
  • Создавайте разделы кода. Держите его чистым и аккуратным.
  • Используйте существующие библиотеки. Не изобретайте велосипед.
  • При создании релиза придерживайтесь общего плана и дисциплины.
  • Будьте в состоянии непрерывного обучения: всегда узнавайте что-то новое.
  • Не останавливайтесь на достигнутом и принимайте новые вызовы.
  • Невозможно сразу стать мастером, и если что-то не получается – это не повод опускать руки.
  • Всегда дробите большую задачу на маленькие подзадачи.
  • Если вы не можете сказать, когда проект будет готов, просто не беритесь за него.

Другие материалы по теме:

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
29 января 2017

Изучаем алгоритмы: полезные книги, веб-сайты, онлайн-курсы и видеоматериалы

В этой подборке представлен список книг, веб-сайтов и онлайн-курсов, дающих...