Предложение для написания более читабельного кода? - PullRequest
4 голосов
/ 13 августа 2010

Какие у вас есть советы / предложения по написанию более понятного кода?

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

Любое предложение может помочь, независимо от языка.

Привет.

Ответы [ 13 ]

9 голосов
/ 13 августа 2010

Мне понравились эти книги:

Вы также должны прочитать код.Если код трудно читать, спросите себя, что именно сделал или не сделал автор, что затрудняет понимание и, что более важно, как вы можете использовать то, что вы узнали, для написания лучшего кода самостоятельно.

6 голосов
/ 13 августа 2010
5 голосов
/ 13 августа 2010
  1. Именование - функции, переменные, классы и т. Д ... Хорошее имя имеет большое значение для обеспечения читабельности кода. Имя должно быть наглядным и понятным, и обязательно обновлять имя, если цель вещи меняется.

  2. Разбейте сложные функции. Мое эмпирическое правило заключается в том, что если я не могу разместить на экране целую функцию / метод одновременно, это, вероятно, делает слишком много и требует разбивки.

  3. Удобочитаемость - умнее. Вы удивите больше людей кодом, который они смогут прочитать и сохранить на 5 лет позже, чем умным использованием неясных функций языка

Я мог бы продолжить, но это хорошее начало.

4 голосов
/ 13 августа 2010

«Если вам нужно более 3 уровней отступа, вы все равно испорчены и должны исправить свою программу» - Линус Торвальдс

3 голосов
/ 13 августа 2010
  1. Оставайся сухим - не повторяйся
  2. Храните методы маленькими
  3. Тестируйте по ходу дела - ваши модульные тесты помогут вашему дизайну, выступят в роли документации и поддержат ваш код в рабочем состоянии.
  4. Тщательно назовите методы и переменные - хорошо продуманное имя лучше, чем комментарий.
3 голосов
/ 13 августа 2010

Попробуйте:

  • Минимизация вложенности - чем меньше вложенных блоков управления, тем проще будет читать код.
  • Использовать временные переменные - хотя они могут сделать ваш код неуклюжим, иногда они также могут значительно улучшить читабельность.
  • Разбить большие функции - разбить большие функции на маленькие функции с единственной ответственностью, которые могут быть легкопонял и испытал.
2 голосов
/ 13 августа 2010

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

Начните с книги «Рефакторинг: улучшение дизайна существующего кода». Мартин Фаулер, Кент Бек, Джон Брант, Уильям Опдик, Дон Робертс "

2 голосов
/ 13 августа 2010

Ключ к написанию поддерживаемого кода - следовать фундаментальным принципам разработки кода:

  1. Принцип единой ответственности - SRP - Один класс должен выполнять одну ответственность.
  2. СУХОЙ - почти взаимно с SRP - Не повторяйте себя - другими словами, не позволяйте одной и той же ответственности быть реализованной несколькими классами (поскольку это приведет к повторению одного и того же кода)
  3. Сделайте вертикальные срезы приложения и назовите каждый срез модулем. Придумайте модульную структуру с четкими зависимостями между модулями. Опубликуйте структуру модуля для проекта и убедитесь, что команда соответствует ему. Очевидно, нет циклических зависимостей. Используйте такие инструменты, как maven или apache ivy для управления зависимостями во время сборки.
  4. Иметь подход для реализации нефункциональных требований как горизонтальных требований с использованием таких стратегий, как AOP, декораторы и т. Д.

С этими вещами большая часть кода станет обслуживаемой. Каждый из пунктов выше сам по себе довольно сложен. Я очень люблю эту книгу .

Посмотрите блоги и т. Д., Где обсуждаются эти вещи. Всего наилучшего

2 голосов
/ 13 августа 2010

Взгляните на Стиль кода , используемый Google Web Toolkit

Это действительно хорошо

2 голосов
/ 13 августа 2010

Существует множество правил и эвристик в отношении стиля кода, но лучший способ обеспечить читабельность - это когда кто-то пишет код, а кто-то другой должен его прочитать, а затем критиковать.

...