Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование, просто о сложном


Программирование

Просто о сложном

Стандартизация стиля кода

Здравствуйте, уважаемые читатели.

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

Вот небольшое и емкое описание того, что представляет собой стандарт кодирования, взятое отсюда:

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

Стандарт оформления кода обычно принимается и используется некоторой группой разработчиков программного обеспечения с целью единообразного оформления совместно используемого кода. Такой стандарт сильно зависит от используемого языка программирования. Например, стандарт оформления кода для языка Си будет серьёзно отличаться от стандарта для языка BASIC.

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

  • Способы выбора названий и используемый регистр символов для имён переменных и других идентификаторов:
    • Запись типа переменной в её идентификаторе (венгерская нотация);
    • Регистр символов (нижний, верхний, «верблюжий», «верблюжий» с малой буквы), использование знаков подчёркивания для разделения слов;
  • Стиль отступов при оформлении логических блоков — используются ли символы табуляции, ширина отступа;
  • Способ расстановки скобок, ограничивающих логические блоки;
  • Использование пробелов при оформлении логических и арифметических выражений;
  • Стиль комментариев и использование документирующих комментариев.

Когда вы только начинаете программировать, может казаться, что принятие какого-то стандарта для своего стиля написания кода преждевременно или вовсе не нужно, ведь вы программируете не в команде. Это чем-то похоже на - раз никто не видит, то будем громко чавкать и сёрбать. А это свинство, которое входит в привычку.
Точно так же и в программировании – раз вы привыкли к винегрету в коде, он для вас станет обыденным.

Поэтому давайте не поленимся и разработаем для себя стандарт оформления кода. В первый раз это будет не так уж просто, так что советую ознакомиться с двумя примерами - C# Rus и C++ Eng.

Но если вы поленитесь прочитать статьи, запомните два основных правила:

  1. Безобразно, но единообразно. Если вы уже начали какую-то конструкцию писать определенным способом, пишите ее везде одинаково.
  2. Чтобы не писать безобразно, ссылки выше все же придется прочитать :).

Если кто-то все еще сомневается, поясню так - поймите, в программировании ваша индивидуальность проявляется в принятии решений, а вот реализация максимально стандартизируется. Вы можете придумать самое элегантное решение задачи, но также ваша обязанность донести это решение до ваших менее гениальных коллег :). Решение воплотится в коде, а для кода должен быть стандарт.

Вот такой секрет на сегодня,
С уважением,
Сергей.

Письма читателей

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

Сергей, у меня возникло предложение к Вам, как к опытному человеку: а что если в каждом выпуске подробненько описать написание программки, что означают вот эти скобочки, буквочки)), куды) их ставить и зачем, чего этим добьешься. А в начале теорию, но своими словами хотябы в кратце, основное. Допустим, начать с самого простого - типа словарика этих символов и обозначение. Может Вы бы о себе рассказали, живые примеры из Вашего опыта программирования. Над чем, допустим сейчас работаете.
P.S. Это, конечно, сугубо мои предположения), но хотелось бы хотяб что-то из всего этого чтобы Вы осуществили.
С Уважением
Дарья.

Отвечу по порядку:

  1. Когда я создавал рассылку, я не подразумевал, что в ней буду обучать конкретному языку программирования. Поэтому примеры, которые появятся, будут иллюстрировать материалы рассылки, но не будут введением в язык С++, например.
  2. Касательно теории. Сейчас готовлю материалы, но они в рассылке не появятся, по причине указанной выше.
  3. Словарик. Также готовиться, и будет разослан всем, кто захотел заниматься со мной, но пока еще не знаком ни с одним языком программирования.
  4. То о чем я пишу, это и есть опыт, который был получен позже, чем надо было. Если бы кто-то рассказал мне лет 12 назад то, что я пишу, думаю, мое резюме избежало бы нескольких фирм, воспоминания о которых вовсе не греют.
  5. А вот то, над чем я работаю сейчас, не имеет никакого отношения к данной рассылке. Значит вам эта информация не нужна.

Анонсы будущих рассылок


В избранное