Чистый код, чистая архитектура и чистая структура проекта / структура проекта
Я читал о чистом коде и чистой архитектуре Роберта С. Мартина (еще не закончен), но я не совсем понимаю. Если у меня есть чистый код, у меня тоже есть чистая архитектура? Если у меня чистый код и чистая архитектура, у меня хорошая структура проекта? Итак, в чем разница между ними? Чистый код, чистая архитектура и хорошая структура проекта. Какова взаимосвязь между ними или как они связаны между собой, как я могу получить хорошую структуру проекта, чистую архитектуру и чистый код? Спасибо.
2 ответа
"Чистая архитектура" - это границы и зависимости между "подсистемами" и компонентами вашей программной системы. Это помогает структурировать ваш код для изменчивости. Таким образом, "Чистая архитектура" даст вам "хорошую" структуру проекта.
Для получения дополнительной информации о том, как "Чистая архитектура" делает структуру вашего проекта "кричащей", пожалуйста, обратитесь к моей серии блогов: http://www.plainionist.net/Implementing-Clean-Architecture-Scream/
"Чистый код" - это реализация ваших "подсистем", компонентов, классов и функций. Это помогает структурировать ваш код для удобства чтения и поддержки.
Если у меня чистый код, будет ли у меня чистая и архитектура?
Обратимся к первоисточнику, вот что говорит дядя Боб по вашему вопросу:
Хорошие программные системы начинаются с чистого кода . С одной стороны, если кирпичи сделаны плохо, архитектура здания не имеет большого значения. С другой стороны, из качественно сделанных кирпичей можно наделать солидный беспорядок.
Компонент — это группа связанных функций, заключенная в красивый и понятный интерфейс, который находится внутри среды выполнения, например приложения. Если принципы SOLID говорят нам, как расположить кирпичи в стены и комнаты, то принципы компонентов говорят нам, как расположить комнаты в здания. Большие программные системы, как и большие здания, состоят из более мелких компонентов.
Я думаю, вы видите здесь, что ответ «НЕТ. Если у вас чистый код, у вас еще нет чистой архитектуры», то же самое, как если бы у вас были хорошие кирпичи, у вас еще нет хорошего здания.
Следующий вопрос.
Если у меня чистый код и чистая архитектура, будет ли у меня хорошая структура проекта?
Глядя на то, что говорит дядя Боб:
В этой книге описывается, как выглядят хорошие, чистые архитектуры и проекты, позволяющие разработчикам программного обеспечения создавать системы, которые будут иметь долгий и прибыльный срок службы.
Я бы сказал: «Да, если вы будете следовать всему, что советуется в книге, это будет потрясающий проект».
Следующий вопрос:
Так в чем же разница между ними? Чистый код, чистая архитектура и хорошая структура проекта.
Чистый код и чистая архитектура типа «кирпичиков и комнат», которую мы создали. «Чистая архитектура» включает в себя «хорошую структуру проекта», а также способ взаимодействия различных компонентов друг с другом.
Следующий вопрос:
Какова связь между ними или как они связаны друг с другом, как мне получить хорошую структуру проекта, чистую архитектуру и чистый код?
Итак, вы уже знаете, что «хорошая структура проекта» — это часть «чистой архитектуры», не будем их разделять. Как получить чистую архитектуру и чистый код? Просто код. Другого пути нет. Вы пишете код, затем позволяете людям читать ваш код, если они не делают фейспалмы, это чистый код. Я, конечно, шучу: прочитав книгу, вы узнаете некоторые хорошие практики, которым лучше следовать и которые вам помогут.
Вот моя концентрированная информация из этой книги, на мой взгляд, всё, что нужно знать из книги "Чистый код" https://www.slideshare.net/DmytroTurskyi/clean-code-256238273
Чтобы построить чистую архитектуру, вам необходимо создать приложение, которое будет использовать базу данных или веб-сервисы. И для этого, конечно, вам нужно представление о том, какую полезную услугу предоставит мое программное обеспечение. Если у вас нет идеи, подумайте, какое приложение будет вам полезно. Если оно сделает вашу жизнь лучше и проще, то это хорошее приложение и хорошее начало для создания чистой архитектуры с лучшими попытками применить все, что вы узнали из книги.
Вот мои своеобразные «заметки» самой важной информации из книги «Чистая архитектура» https://www.slideshare.net/DmytroTurskyi/the-clean-architecturepptx.