Этот вопрос был рассмотрен в аналогичном посте на более конкретном уровне относительно пользовательского интерфейса.
Я бы хотел затронуть эту тему на более общем уровне дизайна.
Я принимаю решения по дизайну каждый день, чтобы обеспечить высокое качество. Но время от времени я вступаю в споры с руководителями среднего звена и неопытными разработчиками о том, как правильно поступить «правильно».
Иногда я просто говорю: «Поверь мне, я видел, к чему это ведет, мы делаем это по-другому», иногда я пытаюсь изложить сценарий, в котором определенный набор вариантов создает проблемы и т. Д. Большинство я чувствую, что не могу связаться с человеком, с которым разговариваю. С таким же успехом я мог бы сказать «поверь мне».
Я чувствую, что одна из моих способностей старшего программиста должна заключаться в том, чтобы объяснять и мотивировать технические решения, которые мы делаем как компания. Я могу сделать это на экономичном уровне и уровне пользовательского опыта.
Но я, похоже, не могу объяснить на техническом и псевдотехническом уровнях, почему некоторые варианты дизайна "кажутся неправильными" и почему другие просто чувствуют себя более правильными и полезными, хотя поначалу это может быть сложнее реализовать или показаться излишне сложным.
К счастью, я иногда показываю хорошие результаты, иначе я, вероятно, начал бы сомневаться во всей концепции хорошего и плохого дизайна.
Мне действительно было бы интересно прочитать о том, что другие здесь говорят по этому поводу.
Заранее спасибо!