Превосходный вопрос. Мотивация для грамотного программирования никогда не будет уходить, но я думаю, что это нужно рассматривать как жидкость. Это означает, "дают читателю передохнуть и обучают их к тому, что Вы пытаетесь сделать". Я не думаю, что это означает, "делают Ваш код действительно многословным".
Тем не менее читатель должен будет приложить некоторые усилия к нему, в зависимости от того, что они уже знают. По-видимому, код стоит понять, и ничто не прибывает бесплатно.
я также думаю, что это означает больше, чем просто создание читаемого кода. Скорее всего, причина, кто-то читает код, состоит в том, потому что они должны внести изменение. Необходимо ожидать возможные изменения, которые могли бы быть необходимы и сказать им, как сделать это при необходимости.
Грамотное программирование было разработано в эру, где длинные имена переменной и имена функций были просто не возможны. Из-за этого код действительно не был то, что читаем.
, Очевидно, много произошло с тех пор.
В современном мире, сам код является документацией, следовательно термин "сам документирующий код". Реализация состоит в том, что никакой набор комментариев или внешней документации никогда не может оставаться в синхронизации с базовым кодом. Так, цель большого количества сегодняшних программистов состоит в том, чтобы написать код таким способом, которым это читаемо другим.
Книга "Физически Основанный Рендеринг" (pbrt.org) является лучшим примером крупномасштабного грамотного программирования, о котором я знаю. Книга реализует полную систему рендеринга, и и книжный текст и код трассировщика лучей сгенерированы из того же "источника".
На практике, я нашел, что просто использование системы как Doxygen и действительно закапывание и использование всех его функций лучше, чем полноценное "грамотное" программирование, за исключением вещей как это, т.е. учебников, образовательных материалов.
Я сделал некоторое грамотное программирование с СЕТЬЮ приблизительно 15 лет назад. Позже я пытался извлечь код из Wiki и генерировать документацию от Писка среда Smalltalk.
восходящая часть может быть обработана относительно хорошо путем генерации документов от платформ TDD/BDD, но внимания LP на объяснение кода читателю.
существует несколько проблем:
, Чтобы LP работал на большие системы, Вам нужна лучшая поддержка IDE, чем Wiki или обозреватель объектов.
pbrt является физически основанным трассировщиком лучей, записанным в грамотном стиле для образования выпускников информатики (и меня), это - умеренно крупномасштабная система. Как программист неспециалиста этот уровень документации довольно важен для понимания, что делает программа и почему это делает это.
у меня также есть доступ к рендереру исследования в Java, который правильно написан, но относительно не документирован, но для нескольких бумаг SIGGRAPH. Это также относительно понятно, но у меня есть доступ к авторам также.
я также использовал ImageJ довольно много и посмотрел под капотом на базовый Java - довольно трудно следовать без идеи базовой философии.
В сумме, мое представление состоит в том, что грамотное программирование является большим, если кто-то может найти, что время делает это хорошо, и это, вероятно, будет в образовательных настройках. Трудно видеть, что он сделан в производстве торгового кодекса. Я скептически отношусь к идее, что код может полностью самодокументировать.
Вот способ обработки « Ruby-esque »:
temp _ array = Marshal.load (Marshal.dump (your_array_to_be_cloned))
Единственный верный ответ: это зависит от .
Подготовленные высказывания - прекрасные звери, когда речь заходит о 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-Идея грамотного программирования - акцент на документации, с кодом, посыпанным через документацию, а не комментарии, посыпанные через код.
Это существенно другая философия, и различия, такие как более длинные имена переменных, пространства имен и классы, не влияют на философию. Грамотное программирование пропагандирует значимые имена переменных.
Оно масштабируется до более крупных систем, потому что базовое отношение документации к коду масштабируется линейно с размером кода.
«В целом, грамотное программирование - это просто текст»
Неверно.
Диаграммы в порядке.
Я хотел бы использовать LP для определения компонентов, которые взаимодействуют друг с другом с помощью потоков событий
Это просто архитектура, и это нормально.
вы можете извлечь документацию - схему потока данных - из сети, а также очень хорошо сгенерировать из нее код. Что вы об этом думаете?
Диаграммы потоков данных на самом деле не очень полезны для генерации подробного кода. Это удобное резюме, а не точный источник информации.
Хороший инструмент для письма (например, LaTex) может закодировать диаграмму в документе. Вероятно, вы могли бы найти путь к диаграмме из других частей документации.
Bottom Line
В конечном итоге вам лучше создать диаграмму как резюме текста.
Почему?
На диаграммах намеренно опускаются детали. Диаграмма - это сводка или обзор. Но как источник кода диаграммы ужасны. Чтобы предоставить все подробности, диаграммы становятся очень загроможденными.
Но схематическое резюме некоторой другой разметки LP подойдет.