Как вы нашли, усовершенствовали и сохранили свой стиль кодирования?


10

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

Теперь мой вопрос состоит из трех частей, первая, просто из любопытства:

  1. Как вы определили и нашли свой стиль кодирования?
  2. Как вы продолжаете увеличивать и улучшать его?
  3. Как вы поддерживаете это? (Из ментальных заметок, ведения документа, использования таких инструментов, как StyleCop и т. Д.)

Ответы:


7

№1. # Как вы определили и нашли свой стиль кодирования?

Через примеры кода сначала в книгах, затем в текстах и ​​статьях MSDN, затем в блогах и других веб-сайтах.

№2. Как вы продолжаете увеличивать и улучшать его?

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

№3. Как вы поддерживаете это? (Из ментальных заметок, ведения документа, использования таких инструментов, как StyleCop и т. Д.)

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


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

Примечание 2. Часто не так важно, какие именно элементы стиля вы принимаете, а то, что вы сохраняете свой стиль в своих кодах. То же самое относится и к команде. Выберите какой-нибудь стиль, но затем придерживайтесь его.

Примечание 3. Стили кодирования для разных языков могут различаться. C ++ заслуживает одного стиля, Java - другого. HTML и CSS имеют свои характеристики, требующие другого стиля.

Примечание 4. Какой бы стиль вы ни выбрали, поймите и примите, что он не будет работать на 100%. Иногда у вас есть некоторый код, который требует другого стиля на месте, либо разделенного многострочного, другого выравнивания или чего-то еще, чтобы этот фрагмент кода был более читабельным. Не продвигайте свой стиль везде, сосредоточьтесь на удобочитаемости кода. Если это очевидно, стиль не работает в этом конкретном месте, сделайте исключение.

Примечание 5. Не следуйте стилю кода религии. Инструменты, обеспечивающие стиль кода, хороши, но иногда могут свести вас с ума. Например, я отключил автоматическое форматирование кода в Visual Studio, потому что это сводило меня с ума. Если инструмент становится препятствием, просто добавьте исключение и не беспокойтесь, что ваш код не на 100% совместим. Это не так важно на самом деле, а совершенство, которого нельзя достичь, так или иначе.


+1 Номер два точно, как я улучшаю (d) мой стиль.
Оливер Вейлер

2
Боже, чувак ... MSDN? Я оплакиваю ваших ровесников ...
Shog9

1
  • Как вы определили и нашли свой стиль кодирования?

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

  • Как вы продолжаете увеличивать и улучшать его? Чтение блогов разработчиков может быть полезным, чтобы увидеть, над чем работают другие, найти широко используемое программное обеспечение (если оно так хорошо, возможно, вы могли бы использовать некоторые из их решений) и т. Д.
  • Как вы поддерживаете это? (Из ментальных заметок, хранения документа, использования такого инструмента, как StyleCop и т. Д.) Этот вопрос поднимает другой вопрос: не могли бы вы потерять свой стиль? Я думаю, что это часть вас, так что вы не можете, не так ли?

1

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

Он предложил, и я принял стиль кодирования Zend Framework (http://framework.zend.com/manual/en/coding-standard.html)


1

В итоге я принял характеристики различных стилей, включая стили, отраженные в MSDN. Затем я настраиваю шаблоны в VS, которые предоставляют мои #region/#endregionблоки и все остальное, что является предпочтительным.

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


1
  1. Чтение исходного кода DOOM.
  2. Читая все остальное, на что я мог положиться, выбирая части, которые работали.
  3. Функционирующий алкоголизм.

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

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


1

Как вы определили и нашли свой стиль кодирования?

Сосредоточив внимание на простоте и удобочитаемости (читаемость! == понятность, см. Спартанское программирование )

Как вы продолжаете увеличивать и улучшать его?

Пересматривая чужой и собственный код (и даже сами стандарты кодирования).

Как вы поддерживаете это? (Из ментальных заметок, ведения документа, использования таких инструментов, как StyleCop и т. Д.)

Я использую dokuwiki , простую настройку (без базы данных), иерархическую структуру, гранулярный контроль (ACL из коробки), действительно приятный внешний вид, и, конечно, это вики, так что каждый может внести свой вклад. Кроме того, вклад / изменения всегда находятся под консенсусом и обоснованы, основаны на простоте и удобочитаемости.


Интересно, что я никогда не слышал о спартанском программировании, но это принципы, которым я инстинктивно следовал; теперь я знаю его название, отлично :-)
wildpeaks

0

Это довольно странный ответ, но мне потребовалось очень много времени, чтобы освоить программирование. Я провел много времени, работая в «искусстве», прежде чем считать себя программистом.

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

Если мне нужно сделать что-то странное для эффективности, я прокомментирую это, чтобы объяснить, почему это так.

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

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


0

1. How did you define and find your coding style?

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

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

Примерами этого являются Python PEP 8 , руководство по стилю Android для Java , руководство по стилю jQuery Core или руководство по стилю Google Python .

2. How do you keep augmenting and improving it?

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

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

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

3. How do you maintain it?

Что ж, хорошо, что у вас уже есть существующие документы, которые хранятся в Интернете.

Когда дело доходит до форматирования кода, вы также можете пройти лишнюю милю и предоставить своей команде конфигурации форматирования для своего любимого редактора, который должен принять на себя смелость и догадки по поддержанию внешнего вида. На самом деле, я бы не назвал это лишним шагом, но неотъемлемой частью разработки - нет ничего хуже, чем сделать различие, где 90% изменений кода были чьей-то проверкой правильно отформатированного / стилизованного кода, потому что кто-то забыл очистить, прежде чем они совершили огромную новую функцию.


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.