Я только начал работать над проектом с открытым исходным кодом, в котором приняли участие около 30 разработчиков. Я работаю над исправлением некоторых ошибок, чтобы попасть в «цикл» и стать постоянным участником проекта. Проблема в том, что я обнаружил фундаментальный недостаток дизайна, который вызывает одну из ошибок, над которой я работаю. Но я чувствую, что если я расскажу об этом в списке рассылки, я выгляжу как высокомерный, и некоторые дискуссии, которые у меня были по этому поводу, срываются с некоторых людей. Как я должен идти об этом?
источник
Один из 48 законов власти :
Это тот, который я выучил нелегко после многих бессмысленных споров.
В этом конкретном случае я бы посоветовал придумать очень простой и конкретный кусок кода, который должен работать, но не будет работать из-за этой ошибки проектирования. Как гласит старая поговорка: «Вы не можете спорить с компилятором / интерпретатором».
Другое дело, что для того, чтобы влиять на группу, вы должны восприниматься как член группы . Даже если вы присоединились к компании, люди еще не воспринимают вас как члена группы. Таким образом, может быть лучше пойти вместе с установленной группой, пока они не научатся воспринимать вас как одного из них.
источник
Не могли бы вы спросить, почему был использован тот или иной дизайн? Таким образом, вы можете получить больше предыстории, поскольку могут быть веские причины, по которым было выбрано что-то, чего вы не знаете. Я бы согласился с мыслью, что вы не совсем эксперт, который может разобрать дизайн, но вопрос может быть способом узнать больше, чтобы в конечном итоге вы могли спросить об обнаруженном недостатке, чтобы сообщение не было видно в качестве пламени приманки или троллинга.
источник
Тебе, вероятно, это не понравится ... но, здесь идет ...
Нет, нет, ты не сделал. Если бы ты это сделал, ты бы не стал так сомневаться. Тот факт, что вы сами не уверены в «фундаментальном недостатке дизайна», означает, что вы его не обнаружили. Когда вы пытаетесь указать на чужую ошибку, вам не выгодно использовать превосходную степень (например, «фундаментальную»).
То, что вы, возможно , обнаружили, - это немного лучший дизайн для вашей проблемы. Однако вам, вероятно, следует тщательно его протестировать - поскольку вы новичок в проекте, есть большая вероятность, что вы даже не поймете, о чем говорите.
Назвать это «фундаментальным недостатком дизайна» определенно покажется высокомерным. В этом отношении даже указание, что это может быть ошибкой, не лучшая идея. Если вы точно не знаете (и можете подтвердить это), что это проблема, тогда вам нужно смиренно задавать вопросы и исследовать, пока вы не поймете это полностью . Лучше, чем тот, кого вы пытаетесь убедить.
Стоп. Это не моральная проблема, и это никого не убивает (я полагаю). Если вы намерены стать долгосрочным участником проекта, вы должны сначала заслужить доверие, прежде чем задавать им вопросы. Исправьте ошибки, сделайте потрясающую работу (какими бы метрическими ни были значения группы), разработайте несколько функций и получите место за столом.
Затем, не указывая пальцем и не называя ничего сломанным, смиренно выдвигайте предложение улучшить дизайн для группы. И вам лучше продумать все последствия и пути их решения, иначе вас застрелят за «наивность». Будьте готовы к спору о том, почему ваш дизайн лучше. Будьте готовы проиграть и проиграть изящно.
Если ваша идея действительно лучше, она либо будет в конечном итоге принята группой (хотя, возможно, не оригинальным дизайнером), группе все равно, либо группа глупа. В любом из последних случаев, зачем вам хотеть быть частью группы?
...
Если вы способны, альтернатива состоит в том, чтобы просто так чертовски закодировать эту чертову штуку, что они будут дрожать от изумления от вашего мастерства кодирования и не имеют другого выбора, кроме как принять элегантную простоту и вечную правду вашего дизайна. Разработчики делают уважение компетенции, но вы должны быть осторожны , - наказание за некомпетентности (или необоснованное высокомерие) довольно тяжелая. Поскольку вы задаете этот вопрос, я полагаю, что блестящий и беззастенчивый маршрут высокомерия на самом деле не вариант. ;)
источник
Ошибка - это ошибка, и это нормально называть так. Сказать, что это вызвано «недостатком дизайна», - указывать пальцем на парня перед вами (чаще всего «папа») и говорить ему, что он идиот.
Ненужное и контрпродуктивное. Я предлагаю:
Где XY и Z исправить проблему. Пусть они скажут вам, что это был недостаток дизайна; может быть альтернативное решение. Или предположения, лежащие в основе «изъяна», могут быть настолько глубокими на протяжении всего проекта, что его изменение исправит ошибку, но сломает все остальное!
источник