Любi друзi, дружите с ангийским языком, это не только расширит ваш кругозор, но и позволит читать такие статьи как эта: https://www.gov.uk/designprinciples, в которой описаны 10 рекомендаций при Дизайне.
В целом под Дизайном у меня возникает следующее определение: «Дизайн, это когда создавая вещь, думали обо мне. Как я буду ее [вещь] использовать, почему, и как, мне должно быть легко с ней взаимодействовать?», а отнюдь не «красочные пятна в нужном порядке», каким это мнение распространено среди обывателей.
Именно поэтому, когда я не понимаю суть разработки до конца, либо что-то интуитивно меня смущает (обычно это говорит о сложности), то просто не делаю разработку до тех пор, пока у меня не будет в голове аккуратно сложенного паззла. Мозг, он ведь такой, он работает в бекграунде в подсознании над моей задачей, и когда все готово — выдает ответ.
Научиться этим пользоваться – очень полезный навык. Однако опасность, которая вас может подстерегать на этом пути, это жесткие сроки, которые может (и должен) установить по задаче/разработке заказчик, в том случае, если заказчик не вы.
И это может отнять у вас возможность «положить задачу в бекграунд» и вы можете начать генерить «быдлокод» или «компромиссное решение».
Если заказчик вы, то продукт получается прекрасным ровно до момента исчезновения мотивации (ответа на вопрос «зачем»). Именно поэтому Open Source продукция зачастую имеет довольно короткий жизненный цикл, и тогда нужно передавать дело в руки других людей, которые подобную мотивацию только начинают приобретать.
Феномен Open Source работает по причине того, что человек, который кодит open source, в пирамиде Маслоу удовлетворяет потребность более высшего порядка.
Вот такой вот удивительный мир.