Масштабирование грамотного программирования?

16
задан Lorin Hochstein 11 January 2010 в 02:41
поделиться

7 ответов

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

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

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

4
ответ дан 30 November 2019 в 21:29
поделиться

Грамотное программирование было разработано в эру, где длинные имена переменной и имена функций были просто не возможны. Из-за этого код действительно не был то, что читаем.

, Очевидно, много произошло с тех пор.

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

1
ответ дан 30 November 2019 в 21:29
поделиться

Книга "Физически Основанный Рендеринг" (pbrt.org) является лучшим примером крупномасштабного грамотного программирования, о котором я знаю. Книга реализует полную систему рендеринга, и и книжный текст и код трассировщика лучей сгенерированы из того же "источника".

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

7
ответ дан 30 November 2019 в 21:29
поделиться

Я сделал некоторое грамотное программирование с СЕТЬЮ приблизительно 15 лет назад. Позже я пытался извлечь код из Wiki и генерировать документацию от Писка среда Smalltalk.

восходящая часть может быть обработана относительно хорошо путем генерации документов от платформ TDD/BDD, но внимания LP на объяснение кода читателю.

существует несколько проблем:

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

, Чтобы LP работал на большие системы, Вам нужна лучшая поддержка IDE, чем Wiki или обозреватель объектов.

4
ответ дан 30 November 2019 в 21:29
поделиться

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

у меня также есть доступ к рендереру исследования в Java, который правильно написан, но относительно не документирован, но для нескольких бумаг SIGGRAPH. Это также относительно понятно, но у меня есть доступ к авторам также.

я также использовал ImageJ довольно много и посмотрел под капотом на базовый Java - довольно трудно следовать без идеи базовой философии.

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

3
ответ дан 30 November 2019 в 21:29
поделиться

Вот способ обработки « Ruby-esque »:

temp _ array = Marshal.load (Marshal.dump (your_array_to_be_cloned))

-121--167777-

Единственный верный ответ: это зависит от .

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

Общая идея заключается в том, что если версия < 5,1,17, подготовленная инструкция никогда не кэшируется в кэше запроса, а если используется > = 5,1,17, это зависит от .

Пожалуйста, смотрите следующую страницу в руководстве MySQL 5,1:

http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html

-121--2404228-

Идея грамотного программирования - акцент на документации, с кодом, посыпанным через документацию, а не комментарии, посыпанные через код.

Это существенно другая философия, и различия, такие как более длинные имена переменных, пространства имен и классы, не влияют на философию. Грамотное программирование пропагандирует значимые имена переменных.

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

3
ответ дан 30 November 2019 в 21:29
поделиться

«В целом, грамотное программирование - это просто текст»

Неверно.

Диаграммы в порядке.

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

Это просто архитектура, и это нормально.

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

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

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

Bottom Line

В конечном итоге вам лучше создать диаграмму как резюме текста.

Почему?

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

Но схематическое резюме некоторой другой разметки LP подойдет.

4
ответ дан 30 November 2019 в 21:29
поделиться
Другие вопросы по тегам:

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