Как программисты практикуют повторное использование кода - PullRequest
13 голосов
/ 26 октября 2008

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

Ответы [ 14 ]

0 голосов
/ 26 октября 2008

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

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

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

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

0 голосов
/ 26 октября 2008

Постарайтесь использовать чужие функции и библиотеки.

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

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

0 голосов
/ 26 октября 2008

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

  1. Написать функцию, параметризовать ее, чтобы разрешить вариации
  2. Напишите функциональный объект с элементами для хранения переменных данных
  3. Разработка иерархии классов (функциональных объектов?), Которые реализуют еще более сложные варианты
  4. В C ++ вы также можете разрабатывать шаблоны для генерации различных функций или классов во время компиляции
0 голосов
/ 26 октября 2008

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

...