Я компилирую правила программирования мышления для моей команды: Что является Вашим? [закрытый]

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

Для этого я хотел создать список вещей, которые являются:

  • лучшая практика,
  • лучше всего мысль,
  • лучший подход...

та справка способность программиста проанализировать, думайте, приблизьтесь, решите и реализуйте самым эффективным способом.

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

Надо надеяться, это может быть одним местом для сбора одного или двух лайнеров, которые кратки, глубоки и легки совместно использовать, повториться, обзор. Если мы сохраняем его к одному правилу на ответ, могло бы быть самым легким голосовать/вниз.

Я запущу с первого.

DRY - не Повторяет Себя - В коде, комментариях или документации.

44
задан 11 revs, 5 users 93% 10 July 2019 в 14:28
поделиться

65 ответов

Код не существует, пока не введено система управления версиями .

52
ответ дан Peter Mortensen 26 November 2019 в 21:32
поделиться

Никогда не говорят бизнесу все!

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

3
ответ дан 2 revs, 2 users 67% 26 November 2019 в 21:32
поделиться

Это не должно быть искусство, но это должно быть вовремя

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

2
ответ дан Jens Roland 26 November 2019 в 21:32
поделиться

Всегда создавайте прототип. Девять раз из десять это будет стоить дня/недели/месяца, который требуется. Заключение: отрезок времени, проведенный на прототип, должен быть пропорционален длине/размеру основного проекта.

2
ответ дан endian 26 November 2019 в 21:32
поделиться

Шаблоны разработки являются Вашими друзьями

, Удостоверяются, что сохранили копию Банда Четырех книг , лежащих вокруг где-нибудь как ссылка.

2
ответ дан Peter Mortensen 26 November 2019 в 21:32
поделиться

Количество Всегда Качество Козырей

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

2
ответ дан Lolindrath 26 November 2019 в 21:32
поделиться

YAGNI

Вы не Собирается Потребность Это

Быть критически настроенным по отношению к тому, что Вы делаете, иначе думайте!

2
ответ дан 2 revs, 2 users 82% 26 November 2019 в 21:32
поделиться
2
ответ дан 2 revs, 2 users 67% 26 November 2019 в 21:32
поделиться

Объявите все. Никогда не вкладывайте 15 функций в 1 переменную.

1
ответ дан WolfmanDragon 26 November 2019 в 21:32
поделиться

Вместо того, чтобы быть кем-то, кто говорит, "Что я не знаю", кем-то, кто говорит, "Что я хочу знать". Это изменяет Ваш подход от предотвращения/реакции к превентивному исследованию и росту.

1
ответ дан Jas Panesar 26 November 2019 в 21:32
поделиться

Красный, Зеленый, Осуществите рефакторинг!

TDD или Разработка через тестирование .

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

  2. Запись наименьшее количество объема кода, что Вы должны для создания тестовой передачи.

  3. Осуществляют рефакторинг по мере необходимости для вещей, таких как эффективность или ясность.

  4. После рефакторинга, удостоверьтесь тестирование все еще передачи.

1
ответ дан Chris Ballance 26 November 2019 в 21:32
поделиться

Это прибывает от Steve McConnell

"Каждая новая строка кода, должно быть единственным, ступил через отладчик"

1
ответ дан Chui Tey 26 November 2019 в 21:32
поделиться

Для баз данных...

Нормализуют насколько Вы можете. Затем нормализуйте снова.

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

1
ответ дан Peter Boughton 26 November 2019 в 21:32
поделиться

Это никогда не столь легко, как Вы думаете

, Это в ответ на другой ответ , но не противоречит ему! Оба - ценные принципы, которые должны сопровождаться.

1
ответ дан 2 revs 26 November 2019 в 21:32
поделиться

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

, Но не забывают документировать все так или иначе.

, Если Ваш API не braindead-прост использовать, существует что-то не так с API. Осуществите рефакторинг его, пока это не приложит усилий для использования правильно.

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

1
ответ дан davogones 26 November 2019 в 21:32
поделиться

Ошибки выгоды рано:

  • статически типизированный язык Использования так, чтобы компиляторный и статический анализ мог помочь Вам.
  • Модульный тест (сначала или в последний раз)
  • обзор Кода
  • Непрерывная интеграция
  • Наконец, вещь, которая имеет значение больше всего - Непрерывное изучение.
1
ответ дан amit 26 November 2019 в 21:32
поделиться

программное обеспечение Creating похоже.. создание дома.

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

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

Просто, потому что кто-то может создать сарай без проекта, не означает, что они должны.

0
ответ дан Jas Panesar 26 November 2019 в 21:32
поделиться

Я запустил документ для своей команды в моем последнем задании, как они имели НИКАКОЙ инструкции по программированию, предложения или что-либо... Это начало становиться довольно большим, но все это имело смысл.

я был бы рад совместно использовать его. Но это не всего ОДНО правило, это больше "Кодировало Инструкции", чем что-либо еще.

Вот демонстрационная схема того, что содержал мой документ:

        A.      Source Code
           a.   Formatting
           b.   Variable naming
           c.   Error handling
           d.   Logging
           e.   Text Editor
           f.   Scope Declaration
           g.   Comments / Comment blocks
           h.   Documentation
           i.   API/Library Development standards

       B.       Source Control
          a.    Check-in/Check-out
          b.    Version information
          c.    What belongs in Source Control?

И вот пример от раздела A.

<час>

Source Code

Text Editor:

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

Tabs:
Вкладки никогда не должны быть в исходных файлах. Вкладки должны быть заменены пробелами и иметь отступ 4.
Line Endings:
окончания Строки должны быть в формате CRLF. Большинство {Ваше название компании} исходный код находится на платформе Windows, таким образом, окончания строки должны быть установлены на CRLF быть читаемыми в Windows. Окончания строки никогда не должны смешиваться ни в каком исходном файле.
Line Length:
Длина Строки не должна расширять прошлые 200 символов для большинства строк. Очень длинные строки источника отдельного оператора приемлемы. Функциональные определения или вызовы функции должны быть разбиты (и зарегистрированы). (Раздел See API/Library для получения дополнительной информации.)

<час>, Конечно, это - то, что работало на США, Ваш MMV, и необходимо будет скорректировать правила соответствовать стилям кодирования.
0
ответ дан LarryF 26 November 2019 в 21:32
поделиться

Некоторые Вещи Лучше Сделаны, чем Описанный

, не попадают в спираль спецификации---в какой-то момент, необходимо начать кодировать.

через Прагматически настроенный Программист

0
ответ дан Aaron Wagner 26 November 2019 в 21:32
поделиться

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

3
ответ дан Steve Bosman 26 November 2019 в 21:32
поделиться
  1. Аудитория - все, что мы создаем, для аудитории, она будет использоваться конечными пользователями, а также другими кодерами. Удостоверьтесь, что это применимо обоими.

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

  3. Качество, не совершенство - концентрирует Ваши мысли на том, что важно - обеспечение качества в течение периода времени. при удвоении оценки обеспечивание совершенства не сохранит задницу.

3
ответ дан nailitdown 26 November 2019 в 21:32
поделиться

Запланируйте сначала, разработайте второй, код В-третьих, всегда тестируйте.

3
ответ дан WolfmanDragon 26 November 2019 в 21:32
поделиться

Предпринимают шаги назад и смотрят на целое изображение

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

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

4
ответ дан Treb 26 November 2019 в 21:32
поделиться

Думают! О Вашей Работе

Выключают автопилот и берут на себя управление. Постоянно критический анализ и оценивает Вашу работу.

через Прагматически настроенный Программист

4
ответ дан Aaron Wagner 26 November 2019 в 21:32
поделиться

Думайте о своей работе как о ремесле, не как обязанность.

4
ответ дан Eric King 26 November 2019 в 21:32
поделиться

"Я просто не вижу, как это может перестать работать", просто, "Это может перестать работать, я просто не вижу как" с перестроенными словами. ПРОТЕСТИРУЙТЕ ВСЕ!

0
ответ дан Peter Morris 26 November 2019 в 21:32
поделиться

Не пытайтесь сделать вещи более простыми, чем они.

Знание, что Вы делаете, предпочтительно для модульных тестов.

Понимание технологии предпочтительно для разработки через тестирование.

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

0
ответ дан ThomasD 26 November 2019 в 21:32
поделиться
  1. Понимают/пошаговыми демонстрация код приложения, который хорош, плохой и ужасный . Вы будете лучше размещены в понимание, какие работы и что не делает.

  2. Говорят с людьми (и IT И Бизнес) и не боятся задать вопросы. Это работает на Вас двумя способами:-

    a), которыми Вы становитесь более доступными, поскольку Вы кажетесь более людьми, чем просто, что компьютерный фанат, который не говорит

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

0
ответ дан Ferdeen 26 November 2019 в 21:32
поделиться

Всегда пишите документацию для своего кода! Через половину года Вы не будете помнить о том, как это работает. Не пишите код без документации!

0
ответ дан Alexander 26 November 2019 в 21:32
поделиться

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

0
ответ дан Jas Panesar 26 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: