Что такое какой-то чистый, элегантный, хорошо спроектированный, хорошо написанный, хорошо сделанный код Delphi, который должны изучить разработчики Delphi младшего уровня? - PullRequest
6 голосов
/ 30 июля 2011

У нас есть несколько младших разработчиков Delphi здесь, в моей организации, и как часть процесса обучения их Delphi, я хотел бы, чтобы они посмотрели на «чистый», хорошо написанный, хорошо спроектированный код Delphi.

Некоторые критерии, которые я бы искал, включают:

  1. Отличная структура класса
  2. Хорошее использование интерфейсов
  3. Не слишком сложно или сложно, носложный и достаточно сложный, чтобы быть поучительным.
  4. Небольшие методы
  5. Код с юнит-тестами.

В общем, я ищу код, который бы сделал дядю Боба Мартинагоржусь.

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

Я сделаю этот вопрос вики-сообществомвопрос.

Ответы [ 2 ]

5 голосов
/ 30 июля 2011

Я бы порекомендовал вам взять действительно простую программу, чтобы младшие разработчики внедрили ее в Delphi, следуя всем тем хорошим критериям, которые вы перечислили. Вы хотите что-то, что действительно не требует самостоятельного дизайна (нелепо просто!). Цель программы - следовать всем этим лучшим практикам. Это особенно здорово, если у вас есть небольшая команда, которая может спаривать программы и обсуждать, как лучше всего делать вещи. Убедитесь, что они регулярно проводят обзоры кода с вашими старшими разработчиками.

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

Для вдохновения посмотрите на Enterprise версию Fizzbuzz . Он взял невероятно простой алгоритм и разработал его со всеми лучшими практиками. (Он написан на C #, поэтому ваши младшие разработчики могут переписать его на Delphi).

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

4 голосов
/ 30 июля 2011

Не весь код в репозитории одинаково хорошо спроектирован, но как источник идей и хорошо написанного кода на Паскале, в проекте открытого источника Synopse с открытым исходным кодом много великого. Некоторые части репозитория содержат проекты, которые собраны только в Delphi 7 и не готовы к юникоду, но основной частью, на которую я бы хотел указать, является Delphi ORM + SQLite3.

Это не типичный код приложения Delphi VCL, однако, он имеет фокус на архитектуре, основанный на REST, и демонстрационная программа использует формы, закодированные вручную, в объекте Pascal, вместо использования традиционного пользовательского интерфейса на основе Delphi DFM.

Я не знаю что-то, что я бы порекомендовал, то есть все, что вы сказали выше, плюс имеет отличное покрытие модульных тестов, плюс подходит для начинающего чтения, которое также достаточно придирчиво к Idiomatic Delphi, чтобы не преподавать против того, что я больше всего хочу научить начинающих Delphi; Придерживайтесь идиоматических решений, пока вы не станете достаточно опытным специалистом, чтобы знать, когда не следует использовать общие идиомы Delphi.

...