Какие методы Вы используете для увеличения повторного использования кода?

15
задан Gishu 28 September 2008 в 12:00
поделиться

5 ответов

Сложный вопрос:

  • Некоторые части кода могут быть обобщены как библиотеки или API. У нас есть общая библиотека, которая держится в курсе решений типичных проблем. Обычно: проверка, кэширование, классы доступа к данным, вход, и т.д...

  • Некоторые части специализированы. Они не могут быть обобщены легко. Мы преобразовываем их в HowTos и даем внутренние презентации. Код также переработан при помощи легко доступного для просмотра SCM (в нашем случае SVN).

  • У нас также есть инструменты, которые генерируют код, что одна одна рука не может быть переработана, на другом это всегда подобно (думайте, называя хранимую процедуру).

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

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

10
ответ дан 1 December 2019 в 03:53
поделиться

Осуществите рефакторинг беспощадно и надежда на лучшее.

Обновление (4 года спустя и надо надеяться более мудрый)

  • Как комментарий S.Lott говорит: Обратите внимание на Именование. Распространите слово всем 'разработчикам' в команде. Хорошие имена делают вещи доступными для поиска, и таким образом уменьшает дублирование.
  • Имейте ОДИН способ сделать что-то и сохраните его ДОСТУПНЫМ и ДОСТУПНЫМ ДЛЯ ПОИСКА.
  • Напишите код для среднего числа (L.C.D). программист.. Не будьте умны, где простой был бы достаточен. (Который включает принуждение убывания обуви шаблона разработки и связанное разупорядочение),
  • Примите единый набор конвенций, стилей, инструкций, стандартов, et.all рано. Гарантируйте закрытие сделки и таким образом соответствие в команде. (Это означает, что все используют вкладки (или пробелы)!). Не имеет значения, что Вы выбираете - цель состоит в том, что код должен выглядеть последовательным
  • Имейте привратника (уважаемый командой), кто глазные яблоки все регистрации для красных флагов.
  • Запишите, что код тестирует сначала / снаружи - в. Это обычно гарантирует, что Ваш код применим несколькими клиентами. (См. маркер GOOS на независимости контекста),
4
ответ дан 1 December 2019 в 03:53
поделиться
  • Имейте платформу, которая активно поддерживается.

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

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

  • Имейте хорошие интерфейсы. Легкие типы, легкие структуры или классы. Чем более сложно что-то, тем меньше это будет использоваться в другом проекте.

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

2
ответ дан 1 December 2019 в 03:53
поделиться

Попытайтесь использовать TDD, если Ваш не, уже мой начальный ответ.

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

Другое преимущество, TDD имеет шаг для удаления dupication (осуществляющий рефакторинг) как часть цикла.

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

1
ответ дан 1 December 2019 в 03:53
поделиться

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

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

1
ответ дан 1 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

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