10 лучших советов по написанию читабельного кодаИсточник: msug
Тема легко читаемого кода знакома всем программистам. Хорошо отформатированный и написанный в соответствии стандартам код - предмет для гордости, им можно делиться с другими разработчиками, использовать снова и снова в новых проектах. В статье собраны наиболее важные и популярные практики. Комментирование и документированиеОчень полезной фичей в Visual Studio является возможность комментариев в пользовательских классах и методах, в С# приложениях просто надо добавит три слеша ("///") перед их объявлением.VS.NET автоматически создает необходимые XML атрибуты, куда можно вставлять описание и информацию о параметрах. После того как проект скомпилирован, VS.NET сохраняет введенную информацию, и она будет отображаться с использованием IntelliSense. Эта информация включает комментарии для методов, параметры методов, возвращаемые переменные методов, перечислений и свойств. Избегайте очевидных комментариев
Комментарии должны описывать цель секции кода, но не механизм как достичь эту цель - описывайте скорее "почему", а не "как". Если вы заметили, что комментариях используете имена переменных, лучше остановится и переписать комментарий. Не правильно:
Правильно:
Единый стиль в отступахВсе знают что надо делат отступы в коде, чтобы повысить его читабельность о структурированность. Есть несколько стилей: Стиль №1
Стиль №2
Выбор стиля зависит от вас, здесь самое лучшее правило - последовательность, если выбрали один, то придерживайтесь его всю жизнь :), ну или на протяжении одного проекта по крайней мере. Еще по структуре отступов:
Группируйте кодЧаще всего определенные задания занимают несколько строк кода. Хорошая идея группировать эти задания в отдельные блоки, с разделителем - пустая строка.
Добавление строки комментариев перед каждым блоком также визуально подчеркивает разделение . Избегайте глубоких вложенийСлишком много уровней вложенности усложняют читабельность кода и его тяжелее отследить. Часто можно внести некоторые изменения в код для большей читабельности. Не правильно:
Правильно:
Организация файлов и папок Технически можно весь код содержать в одном файле, но его будет очень тяжело читать и поддерживать. Лучше всего разделять решение(Solution) на разные проекты (projects) в соответствии с разными уровнями, модулями, или компонентами определенными на стадии дизайна. В платформе .NET вводиться понятие проекта, одно решение может включать несколько проектов разных типов. После того как вы начинаете все разделять на разные проекты их может стать слишком много, и становится неудобно скролить между ними. В Visual Studio 2005 ввели полезную фичу: возможность добавлять папки в одно решение, группировать проекты и даже папки в вашей собственной логической иерархи. Для примера пользуясь руководством Microsoft Patterns and Practicies по разработке трехуровневой архитектуры приложения, у вас может получиться что-то типа: Будьте последовательны в именовании переменныхКак правило имена переменных имеют смысловую нагрузку и состоят из нескольких слов. Но это не обязательно так для локальных переменных. Они могут состоят и из одного символа. Хорошей практикой является использование единого принципа в именовании локальных переменных во всем проекте. Например:
Тут также стоит вспомнить про Венгерскую нотацию. Суть Венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов. Пример:
Многие считают, что нотация устарела, но это хорошая практика быть последовательным и единым в именовании переменных. Пишите SQL спец. слова заглавными буквамиОбращение к базам данных важная часть большинства WEB приложений. Если вы часто используете запросы, хорошая идея сделать их также более читабельными. Общепринятой практикой считается писать заглавными словами спец. слова SQL:
DRY принципDRY расшифровывается как Don"t Repeat Yourself (Не повторяйтесь). Также известно выражение DIE: Duplication is Evil(Повторение - зло). Принцип гласит: " Каждый сегмент знаний должен иметь единственное и однозначное представление в рамках системы". В ASP.NET можно использовать эталонные страницы( master pages) для задания шаблона всего сайта. Если вам все таки надо использовать кусок кода снова и снова, то его можно перенести на панель инструментов(ToolBox), просто выделите ваш код и перетащите выбранный текст на общую вкладку. Теперь шаблон можно использовать как любой другой контрол. РефакторингРефакторинг - процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Лучше проводить рефакторинг недавно написанного кода, пока он свежий в голове, что бы потом легче было его читать и использовать. Хорошая книга по рефакторингу тут. |