Программная инженерия


The Presentation inside:

Slide 0

Программная инженерия Андрей Дмитриев [email protected] http://improvement.ucoz.com/ ©2009


Slide 1

Оформление программного кода


Slide 2

План Введение Причины появления Основные аспекты оформления Выводы


Slide 3

Соглашения об оформлении coding standards, coding convention, programming style набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования


Slide 4

Причины появления Принимается группой или сообществом разработчиков с целью единообразного оформления кода проекта(ов) Единство позволяет визуально выделять значимые блоки Стиль оформления может защищать от ошибок программирования Проще разобраться в коде


Slide 5

Что описывают соглашения ??


Slide 6

Что описывают соглашения Имена переменных и т.д. Отступы Комментарии Оформление блоков (скобки, переводы строк) Использование пробелов Длины строк, пустые строки Бинарные операторы …


Slide 7

Общие правила (1/2) Код чаще читается, чем пишется Делайте идентификаторы в меру длинными Избегайте потенциальных конфликтов имен в публичном API


Slide 8

Общие правила (2/2) Делать НЕ стоит: Использовать малопонятные префиксы и суффиксы Использовать символ подчеркивания Давать имена, отличающихся регистром букв


Slide 9

Стили оформления Паскаль – первая буква заглавная и все последующие первые буквы слов тоже заглавные. Например, BackColor, LastModified, DateTime Кэмел – первая буква строчная, а остальные первые буквы слов заглавные. Например, borderColor, accessTime, templateName Какой стиль принят в C#? В Java?


Slide 10

Пространства имен Можно использовать имя компании или назначение проекта: namespace MyCompany.Controls {} namespace MyCompany.Collections {} package mycompany.controls; package mycompany.collections;


Slide 11

Имена Имена классов обычно должны быть существительными (File) Имена интерфейсов – прилагательные или существительные (Readable) Имена методов – глаголы (remove)


Slide 12

Параметры Делайте имена значимыми При совпадении имени параметра с именем поля, разделяйте их с помощью префикса this. Type GetType(string typeName); string Format(string format, params object[] args);


Slide 13

Комментарии Многострочные или однострочные? Пишите, что код делает, а не какая операция выполняется


Slide 14

Волшебные числа Не используйте литеральные константы магические числа зашитые в код размеры буферов времена ожидания Определите константу или переменную только для чтения


Slide 15

Выводы


Slide 16

Ссылки «Совершенный код» С. Макконнелл RSDN стиль http://www.rsdn.ru/article/mag/200401/codestyle.XML Java code conventions http://java.sun.com/docs/codeconv/ Стандарт кодирования GNU (Столлман) http://www.opennet.ru/docs/RUS/coding_standard С++ http://geosoft.no/development/cppstyle.html


Slide 17

Q&A


Slide 18

Спасибо! Андрей Дмитриев [email protected] http://improvement.ucoz.com/ ©2009


×

HTML:





Ссылка: