Вопрос

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

Вопросы, которые я получил, есть:

  • Что вы пишете как комментарии Addock и что вы пишете в грамотной части?

  • Как вы масштабируете грамотное программирование на несколько файлов? Кто-нибудь может указать мне пример, где грамотное программирование используется в упаковке с несколькими модулями? Какой у вас опыт использования грамотных программиров в больших пакетах?

  • Какой аромат (откидка, латекс, ...) грамотной грамотной хаскаэлл предпочтительнее?

  • Почему вы программируете в грамоте Haskell или простой ванили Haskell? Вы программируете в обеих стилях, так и, если так?

  • Вы предпочитаете стиль блока (\begin{code}) или стиль птицы (>)? Почему?

Это было полезно?

Решение

Я писал много грамотные программы.

Что вы пишете как комментарии Addock и что вы пишете в грамотной части?

То Внешняя документация API идет в комментарии в Хаддок. Все остальное входит в грамотную часть. «Все остальное» может включать в себя:

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

Как вы масштабируете грамотное программирование на несколько файлов?

Точно так же, как вы масштабируете большой латексный документ для нескольких файлов: один файл на модуль, затем гигантский файл, который \includeс ними все.

Кто-нибудь может указать мне пример, где грамотное программирование используется в упаковке с несколькими модулями?

Это не Haskell, но Быстрый C-- компилятор является большой функциональной программой, которая написана с использованием грамотных программирования.

Какой у вас опыт использования грамотных программиров в больших пакетах?

Грамотное программирование очень хорошо работает для документирования сложных, сложных или сложных модулей. Для большинства простых модулей внешняя документация API (например, HADDOCK) достаточно. И никакой грамотной программы действительно собирается дать вам большую картину дизайна, которая содержит более десятки модулей. Для этого вам нужны другие инструменты и методы.

Какой аромат (откидка, латекс, ...) грамотной грамотной хаскаэлл предпочтительнее?

Если вы делаете такие основные вложения, я определенно пошел с LaTex только из-за математической способности, а также в целом большей мощности инструмента.

Почему вы программируете в грамоте Haskell или простой ванили Haskell? Вы программируете в обеих стилях, так и, если так?

Мои коды Haskell почти всегда все обычные ваниль, по двум причинам:

  • Я работаю со старшими людьми, у которых есть больше опыта Haskell, и они заброшены грамотным хаскеллом. Только самые старые модули в их системе имеют какую-либо шанс быть .lhs.

  • Для Haskell грамотное программирование - это вид лишних. Одной из больших преимуществ инструмента по грамотным программированию является то, что вы освобождены от любых ограничений, которые можно наказать на определение компилятора или языка, в котором появляется ваш код. Но Haskell почти нет таких ограничений: нет определения перед использованием, а для типичного определения функции у меня есть выбор let-Винда или where-Видящие вспомогательные имена (или оба). Грамотное программирование Был никогда не только о модных комментариях, а также с «грамотным» Haskell, это все, что вы получаете. Это не стоит беспокоиться.

Предпочитаете ли вы стиль блока ( begin {код}) или стиль птицы (>)? Почему?

Я настоятельно предпочитаю блок стиль:

  • Это примерно совместим с каждым другим грамотно-программированием на планете. (Следы птиц уникальны для Haskell.)

  • Мой редактор лучше справляется с блочным стилем.

Другие советы

Если вы намереваетесь обмениваться программами в Интернете, я нашел комбинацию грамотных Haskell в стиле Markdown с MathJax, чтобы стать отличной комбинацией. Программа «PANDOC» серьезно великолепна для принятия этой «Markdown + LHS» в любой формат, который вы хотите, включая PDF или HTML. Если вы скажете Pandoc выводить в HTML, вы можете использовать -Mathjax (или другие подобные флаги, если вы предпочитаете) иметь формул Matheuls латекса.

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

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

Чтобы дать альтернативным пунктам Нормана, где он говорит, что грамотное программирование полезно для договоренности о более понятного кода, можно утверждать, что Haskell достаточно выразительно, чтобы проблемы, которые вы решаете с кодом, на самом деле интересны и могут действительно принести пользу, чтобы быть в окружении пояснительного текста Отказ Подумайте о математическом исследовательском документе. Хорошие документы в чистой математике имеют много текста, чтобы объяснить мотивацию или интерпретации более высокого уровня того, что означает математическое обозначение. Например, в бумаге о уравнениях Navier-Stokes, например, было бы супер полезно для окружения обозначения уравнений с текстом, объясняющим, как оно относится к сохранению импульса Ньютона.

Таким образом, у меня был хороший успех, и рекомендую, используя Markdown + LHS стиль, знаки доллара для встраивания Formuls Matheuls, стиль птицы и Pandoc. Я бы порекомендовал написание программ, как если бы они были исследовательскими документами и относится к самому Haskell, поскольку вы будете математическими выражениями в исследовательской документе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top