Недостатки дизайна и борьбы с унижением от него [закрыто]

84

Вы всегда были в корне верны в проектах программного обеспечения, которые вы предложили? Когда вы даете какой-то дизайн, который был в корне неверным, вы теряете уважение коллег по команде. Независимо от того, что вы делаете после этого, вы в конечном итоге будете перепроверены за все, что вы предлагаете после этого инцидента. Это особенно плохо, когда вы новичок в команде, и они не знают вашего прошлого, где у вас были хорошие истории успеха.

Может быть, причина, по которой вы дали плохой дизайн, была из-за недостатка опыта или знаний или того и другого в этой области. Как вы столкнулись с такой ситуацией? Это что-то одноразовое в твоей карьере или это происходит время от времени? Остаётся ли это позади, или в такой ситуации нужно искать новую линию работы? Некоторые честные отзывы, пожалуйста ...

Спасибо.

user20358
источник
17
возможно, дизайн был правильным, просто для другой системы ;-) не вкладывайте свое эго в свой код / ​​дизайн, слишком много факторов, чтобы ожидать совершенства; вместо этого вкладывайте средства в свою готовность учиться, честность (особенно честность в себе) и командную работу. Дизайн мог бы быть идеальным в первый день, а требования менялись во второй день! Учитесь у этого и продолжайте
Стивен А. Лоу
Почему привязанность к вашему дизайну? Цель должна состоять в том, чтобы сделать то, что лучше для продукта / компании. Предложите что-нибудь. Спросите людей за их мысли; попросите их найти недостатки. Нашли недостатки? Промыть и повторить. Нет недостатков? Действуй. Нужна дискуссия или обсуждение плюсов / минусов? Тогда сделай так. Защищайте свой дизайн там, где его нужно защищать. Отпусти его, когда он просто не работает. Почему все это смущает? Это мозговой штурм. Люди всегда должны иметь возможность предлагать самые дикие и глупые вещи ...
Свати
Я думаю, что вы не рассказываете всю историю. Хотя каждый не всегда создает хороший дизайн, он не склонен заставлять других думать, что он некомпетентен, если только на самом деле не очевидно, что дизайнер не имеет ни малейшего понятия. Я подозреваю, что либо вы просто «не поняли», либо они попытались указать на некоторые улучшения, и вы с этим не согласились, скорее всего, отвергнув некоторые очень базовые принципы в процессе. И то, и другое заставило бы меня больше следить за работой разработчика.
Данк
1
Я не согласен. Решение, которое я выложил, не было оспорено моей командой, так как все они юниоры. Когда я предложил это нашему клиенту, у которого было больше опыта, чем у меня, и лучшего качества, я начал понимать, как только он его сбил, Я где-то принял принципиально неправильное решение. Я не только чувствовал себя дураком, я также чувствовал, что подвел членов своей команды, потому что они доверились мне, и теперь я сомневаюсь, что они это сделают. Я не виню их. Я бы посмотрел на меня с подозрением, если бы я был на их месте.
user20358
4
Хороший разработчик - это не разработчик, который всегда принимает правильное решение, а разработчик, который принимает плохое решение, признает его и быстро восстанавливается после него.
Руди

Ответы:

177

Однажды, вице-президент Fortune 500 стоил компании 1 миллион долларов с плохим деловым решением. Когда он подал заявление об отставке генеральному директору, он получил ответ: «Я только что вложил один миллион долларов в ваше образование, а теперь вы пытаетесь уйти? Я не согласен».

Я устал от менеджеров и других работников, которые быстро обвиняют кого-то в том, что он новичок или полагает, что он некомпетентен. Есть только один способ стать хорошим дизайнером, это поднять на несколько процентов. Мне все равно, если мои сотрудники совершат ошибку, мне важно, если они сделают одно и то же несколько раз. Вопрос в том, насколько ты скромен и насколько обучаем? Когда кто-то представляет вам вашу ошибку, вы сначала защищаетесь или выслушиваете их? Если вы один из тех редких парней, которые могут проглотить свою гордость и извлечь из нее уроки, то вам стоит придерживаться. Тот, кого вы потеряли из-за того, что допустили ошибку один раз, не тот, кто заслуживает вашего уважения.

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

Что касается аспекта унижения и как выздороветь, у меня есть два совета. Во-первых, люди забывают со временем. Кроме того, когда кто-то еще находится в центре внимания, они тоже облажаются. Тогда все снова будет равным. Во-вторых, не будь мудаком для других, когда они делают честные, учатся, ошибки. На самом деле, вы должны поощрять их, если им просто не нужен сильный удар в задницу. Со временем вы можете помочь изменить культуру своей команды, вспомнив, что вы чувствовали, когда допустили честную ошибку. В конечном итоге вы вдохновите людей стать лучшими программистами, дизайнерами и людьми.

Джонатан Хенсон
источник
3
Мне очень нравится этот комментарий. В прошлом я допустил несколько ошибок на своем рабочем месте, и хотя я не идеален, я действительно учился у них. Я подошел к своему коллеге (намного старше в этой области, чем я) и спросил, что я могу сделать лучше, и она дала мне несколько хороших советов. Мне нравится думать, что я сейчас лучше. Хотя было больно знать, что я все испортила и почувствовала унижение, в конце концов это проходит. Это воодушевляет меня, потому что говорит мне, что я поступил правильно, и что это произойдет. Тем более, что это на самом деле моя первая работа. :)
Бен Ричардс
1
Ваше право, что люди забывают. Однажды я помогал компании убираться на полдня один раз на неудачном обновлении БД. Это был ужасный день, но я закончил и думаю, что все остальные тоже.
Крат
5
Хороший анекдот и хороший момент. Конечно, я думаю: генеральному директору легко сказать. Не вкладывал свои деньги. У кого-то с кожей в игре не будет такой странной реакции на колоссальную ошибку. Однако, если они будут честны, они признают, что на своем пути совершили множество мелких ошибок и извлекли уроки из каждой. Ключ в том, чтобы быстро потерпеть неудачу, быть честным и выбрать что-то новое для своей следующей ошибки. :) Это отношение будет признано и вознаграждено в компаниях, в которые стоит потратить ваше карьерное время.
Грег Хендершотт
1
Вице-президент @BiAiB - обычно означает «второй в команде».
Джонатан Хенсон
2
@Greg H: "странно отстранен?" Нет, только рационально. Тот, кто пытается сделать хорошую работу, кто делает ошибку, учится на этой ошибке. Замена этого человека после того , как он научился лучше, с кем-то, у кого нет опыта, - плохое решение. У этого нового парня может быть чистая запись, но только потому, что он никогда не пробовал ничего интересного.
Зан Рысь
33

Я делал это долгое время (15+ лет), и я все еще не понимаю это с первого раза. Лучшие проекты получаются из итеративного, совместного процесса. Когда вы некоторое время работали над дизайном, легко оказаться в ловушке, думая, что это единственный способ сделать это. Свежая перспектива полезна для наблюдения за вещами, которые вы упускаете.

Чтобы это работало, команде нужно доверять друг другу. Вы не можете бояться показывать людям дизайн, который может быть ошибочным и должен быть в состоянии принять критику дизайна. В свою очередь, остальная часть команды должна понимать, что недостатки в дизайне не являются отражением для дизайнера. Это ожидаемая часть дизайна. Это также, как члены команды учатся и становятся лучше: от своих собственных ошибок и ошибок других.

Если вы находитесь в неблагополучной команде, которая не работает подобным образом, у вас есть два варианта:

  1. попытаться исправить команду
  2. найти новую команду (либо внутри, либо у нового сотрудника).
KeithB
источник
20

Насколько я знаю, я всегда был принципиально защищен . Это не совсем то же самое, что быть принципиально правильным . Часто обстоятельства меняются между временем, когда вам нужно принять решение «х», и временем, когда становится ясно, что «х» было неправильным решением задним числом .

Это похоже на подготовку ваших подоходных налогов в США. Многие люди думают, что должен быть ответ. Нет У вас есть свое мнение; у вашего налогового бухгалтера есть свое мнение; IRS имеет свое мнение.

Когда я делаю ошибки, я не теряю никого уважения. (Насколько я знаю.) Я думаю, что это отчасти потому, что я всегда признаю свои ошибки. (На самом деле, я часто нахожу свои собственные ошибки.) Кроме того, почти во всех значимых дизайнерских решениях их подписывает более одного человека. Любые ошибки в этих решениях принадлежат группе, а не одному человеку.

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

Это происходит время от времени, и это не должно сорвать вашу карьеру. Никто в положении значительной ответственности неизменно принимает правильные решения. На самом деле, никто из тех, кто несет значительную ответственность, неизменно принимает оправданные решения.

Но в большинстве случаев вы должны иметь возможность принимать обоснованные решения на основе неполной информации. Как сказала бы моя дочь: «Это просто быть людьми».

Майк Шеррилл 'Cat Recall'
источник
Чем больше я знаю, тем больше я знаю, что я не знаю. Моя широта знаний растет медленнее, чем осознание того, что нужно знать. Я просто стремлюсь быть лучше каждый день. Я использую лучшие практики, которые мне известны. Я узнал, что некоторые из них не будут такими хорошими, как я думаю. К сожалению, я согласен с тем, что признавать ошибки становится легче по мере приобретения опыта. Однако, если у вас нет опыта, следует ожидать ошибок.
BillThor
Отличный ответ! Я, конечно, допустил свои ошибки в дизайне, но я не думаю, что я когда-либо унижался ими или терял уважение моих товарищей по команде. Мои решения всегда принимались по какой-то причине, и когда выяснилось, что мои рассуждения основаны на ошибочных или неполных знаниях, я всегда признавал ошибку и старался ее исправить.
Carson63000
8

Каждый иногда ошибается. Ошибки неизбежны. Признайтесь свободно, когда вы не правы, учитесь на своих ошибках и проявляйте смирение, особенно если вы изначально не были убеждены, что на самом деле ошибаетесь.

«Унижение» никогда не должно произойти. Это вряд ли улучшит производительность человека вообще.

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

оборота MadKeithV
источник
Я буду второй «культурой уважения». Мне не повезло быть одним из двух программистов в нашей компании. Почему неудачный? Потому что каждый раз, когда я (или кто-то еще) совершает ошибку, другой программист смеется тебе в лицо, будто ты идиот. Хуже того, когда он совершает ошибку, ему всегда удается обвинить в другом месте (другой сотрудник, Windows, планетарное выравнивание). Так не должно быть, и поэтому я совершенно презираю просьбу о помощи, опасаясь, что это превратится в соревнование по писанию.
hermiod
6

Вы всегда были в корне верны в проектах программного обеспечения, которые вы предложили?

Да, я сверхчеловек! Ну, конечно, нет.

Когда вы даете какой-то дизайн, который был в корне неверным, вы теряете уважение коллег по команде.

Нет! Если это произойдет, значит, что-то не так с командным духом.

Все делают ошибки. Некоторые решения оказываются хорошими, некоторые - плохими, большинство между ними. И успехи, и неудачи должны восприниматься вами и остальной командой как урок.

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

Joonas Pulakka
источник
4

С кем не бывает. Главное - учиться на своих ошибках и стараться не допустить, чтобы это повторилось. Также обязательно признайте, что это была ошибка с вашей стороны. Например, я однажды допустил ошибку, используя нижний уровень доступа к данным (SubSonic3). В то время, когда я принимал решение, я просто хотел уйти от созданных вручную SQL-запросов. Поэтому я выбрал то, что в то время казалось одним из самых простых для начала. Я тоже не был слишком опытен с DAL. Что ж, после решения нескольких проблем мне стало интересно, почему некоторые запросы занимают слишком много времени, и обнаружил, что SubSonic рушит целые таблицы без веской причины.

Итак, я сказал своему боссу, объяснил, что допустил ошибку, и дал ему план по ее исправлению. Мой босс, конечно, не был в восторге от того, что я допустил довольно большую ошибку, требующую нескольких дней чистой миграции. Но он также позаботился о том, чтобы я больше не повторял ту же ошибку. Он заставил меня создать проект для проверки концепции для следующего уровня доступа к данным, на который я предложил перейти, и мы убедились, что он будет соответствовать нашим требованиям, и что он не разрушит целые таблицы. В целом, это был хороший опыт обучения для меня, и теперь я буду уверен, что ключевая часть проекта отвечает требованиям и не имеет огромных проблем.

Итак, в основном то, что вы делаете, это:

  1. Признать, что вы сделали ошибку
  2. Составьте план, чтобы исправить это
  3. Убедитесь, что ваш план действительно сработает
  4. Убедитесь снова.
  5. Почини это!

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

И последнее, расслабься! Все совершают ошибки. Очень немногие доводят это до совершенства с первого раза

Earlz
источник
3

Это отвратительный конкурсный материал, а не хорошая ситуация. Никто не всегда прав, и нечего стыдиться, если кто-то придумает лучший способ сделать это, или если он обнаружит проблему с как ты это сделал.

Вам необходимо эмоционально отделить себя от своего решения и потратить время на поиски наилучшего решения, тогда вы будете довольны, когда проблема решена, даже если она решена кем-то другим.

Satanicpuppy
источник
3

Есть много того, что вы не говорите в своем вопросе. Я не могу сказать, какие у вас настройки для «выдачи дизайна». Это начальная дискуссия с коллегой по вашему запланированному подходу или это то, что, как вы надеетесь, является окончательным кодом?

Если первое, то нет причин чувствовать себя плохо и нет причин для ваших сверстников подозревать вас в будущем.

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

Каждый должен обсудить свой дизайн с кем-то еще. В зависимости от сложности или критичности вам может понадобиться несколько раз обсудить это с несколькими людьми. Каждый может ошибиться, неправильно понять требование или пропустить особый случай.

Ошибки, выявленные на ранней стадии, легче и дешевле исправить. Они должны быть очень простительными, если вы не повторяете одни и те же ошибки снова и снова. Экспертные обзоры облегчают выявление ошибок на ранней стадии.

Если вы пытаетесь быть одиноким программистом в командной среде, вы совершаете (почти непростительный) грех, думая, что вы настолько совершенны, что вам не нужна чья-либо помощь. Тот факт, что это командная среда, доказывает, что проблема достаточно велика, и никто не поймет всего этого. Люди должны разговаривать друг с другом, иначе из-за ошибок их головы будут слишком близко к выпуску (или после выпуска).

jimreed
источник
Решение, которое я выложил, не было оспорено моей командой, так как все они юниоры. Меня привели в команду, чтобы решить проблему, в которой команда терпела неудачу. Плюс уже была проблема плохого дизайна, запахов кода и т. Д. Я был втянут как панацея, чтобы все это исправить и сделать клиента счастливым. Когда я предложил этот новый дизайн нашему клиенту, у которого было больше опыта, чем у меня, и лучшего качества, я начал понимать, как раз когда он снимал его, я где-то принял принципиально неправильное решение. Это было постепенно лучше, чем команда сделала, но все еще много в минусе ...
user20358
Как старший ресурс я должен был знать эти вещи. Я уверен, что моя команда тоже так думает.
user20358
@ user20358 Я бы сказал, что еще нужно время, чтобы спасти свою репутацию в команде. Значительные проблемы не могут быть решены мгновенно. Вас втянули, чтобы стать волшебной пулей с одним выстрелом, или вы потянули, чтобы постоянно накапливать опыт в команде? Надеюсь, что последний. Предполагая, что вам нужно объединиться с командой, чтобы они могли научить вас тому, чему они научились, и вы можете использовать свой опыт, чтобы направлять их в лучшем направлении. Признайте их успехи и направьте их, чтобы они увидели и нашли способы улучшить продукт.
jimreed
3

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

Часто говорят, что человек, который не принимает неправильных решений, никогда ничего не делает. Неправильные решения - это способ учиться. Плохие решения часто усугубляются, потому что лицо, принимающее решение, вкладывает себя в решение и пытается ретроспективно обосновать решение или доказать, что это было хорошее решение в конце концов (сокрытие всегда более разрушительно, чем первоначальное решение).

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

Крис Уолтон
источник
3

Пока они не являются " защитником в понедельник утром ". Я бесполезен для кого-то, кто сидит во всех обсуждениях дизайна, не говоря ничего, только утверждая, что они знали, что это не будет работать после факта. Вы должны уметь воспринимать критику, даже если она не находится в конструктивном контексте.

Вероятно, одна из лучших особенностей сайта SO - это возможность рисковать, предлагать и неуверенное решение. Вот как ты учишься. Идти по жизни с кучей дерьма в голове, что неправильно, но тебе никогда не говорили, что это обман, - настоящее невежество.

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

JeffO
источник
2

Я всегда обеспечивал хороший дизайн? Нет! Я стремлюсь сделать это, я стремлюсь становиться лучше, но с каждым последующим проектом, что я, похоже, всегда могу сделать, это оглянуться назад на то, что я делал раньше, и съежиться от того, как я каким-то образом пропустил отметку.

Что касается кого-то, кто предложил менее звездный дизайн, я не стал бы возражать против этого человека, если бы этот человек продемонстрировал, что он или она хотел учиться на этой ошибке и был открыт для критики. Если я вижу доказательства того, что человек так же стремится стать лучше и у него есть способность сделать это, то плохое проектное предложение - это просто возможность обучения.

Энтони Пеграм
источник
1

Время от времени это случается со всеми, поэтому лучше всего выяснить, почему дизайн был неправильным, и извлечь из этого уроки. Если это недостаток знаний, то, надеюсь, неудача проекта даст вам новые знания, которые вы сможете использовать в следующий раз. Не позволяйте этому обескураживать вас, каждый проходит через это в какой-то момент. Это лучший способ получить опыт и пообщаться с новой командой / средой.

FrustratedWithFormsDesigner
источник
1

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

Тем не менее, вы толкнули плохой дизайн вниз их горло из-за их возражений? Возможно, поэтому они слишком остро реагируют.

Если ошибка была огромной, конечно, потребуется время, чтобы восстановить уважение. Если один из ваших коллег взял вас в плохом направлении и создал проблемы для всей команды, разве вам не нужно, чтобы он проявил себя в ближайшем будущем?

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

Что вы не считаете, что сделало дизайн ошибкой? (Не случайный пример - спроектируйте процесс импорта, чтобы использовать существующий веб-сервис, работающий построчно (повторное использование кода и требующий только изменения бизнес-правил в одном месте), не понимая, что для некоторых импортов будут иметься миллионы записей, и на это уйдут дни закончите.) Учитесь на этом и обдумайте эти вещи в будущем.

HLGEM
источник
Нет, я не толкаю плохой дизайн. Меня привели в команду для решения проблем, в которых команда постоянно терпела неудачу. Плюс уже была проблема плохого дизайна, запахов кода и т. Д. Я был втянут как панацея, чтобы все это исправить и сделать клиента счастливым. Скажем так, когда я предложил этот новый дизайн нашему клиенту, у которого было больше опыта, чем у меня, и лучшего качества, я начал понимать, как раз когда он это делал, я где-то принял принципиально неправильное решение. Это было постепенно лучше, чем команда сделала, но все еще много в минусе ...
user20358
Я признал, что был неправ, но эта помощь очень помогла, потому что и моему менеджеру, и клиенту я должен был знать лучше, учитывая мой опыт.
user20358
1
Тогда вам просто нужно поработать, чтобы доказать себя им в ближайшее время. Люди делают ошибки, важно то, как они выздоравливают от шутки. Звучит так, как будто у вас не было информации, необходимой для проектирования, возможно, вам следует подумать о проведении более тщательного исследования перед следующим предложением. Когда кто-то уже находится в плохом состоянии, сложно решить все проблемы, вы сосредотачиваетесь на некоторых, но более критические из них могут быть не такими очевидными.
HLGEM
0

Там будет всегда быть ошибки. Ошибаться - значит быть программистом. Продолжайте учиться у других в Интернете и особенно у своих коллег. Единственный позор здесь будет в том, чтобы сдаться или спрятать голову в песке, когда дело доходит до подобных вопросов.

Оставь это позади себя, опусти голову и сделай все возможное. Если вы хороший программист, вы будете просвечивать свои ошибки.

Джаррод Крапива
источник
0

Если вы не уверены, что ваша идея лежит в основе, вам следует обсудить ее с несколькими доверенными коллегами, прежде чем предлагать ее всей компании или отделу. На самом деле, даже если вы уверены, вам все равно следует обсудить это с людьми, с которыми вы работаете, и которые, скорее всего, знают вас лучше всех. Они помогут вам определить проблемы на ранней стадии.

Калеб
источник
0

Это случается с нами все время от времени. Используйте первый дизайн в качестве прототипа. Узнайте, что именно сработало, а что нет и почему. Тогда вы можете написать гораздо лучший конечный продукт.

Не пытайтесь оправдываться или защищаться. Признайте ошибку и двигайтесь дальше.

Том Сквайрс
источник
0

Кажется, фундаментальная проблема не объясняется: это социальная проблема. Такое поведение можно увидеть почти в каждой профессии: если вы совершаете ошибку и им нравится «категоризировать» вас в определенных вещах, это навсегда. Это социальное поведение. Даже умные и умные люди будут стремиться следовать за всеми.

Позвольте мне привести вам пример, который не имеет ничего общего с программированием: на моей предыдущей работе я забыл помыть посуду один или два раза. С тех пор все рабочие думали, что я такой человек, который никогда не моет мою посуду. И теперь, как только в раковине есть грязная вещь, это я (кто еще это мог быть).

Это везде одинаково: это социальное поведение, независимо от того, какая это проблема.

Вы говорите мне, что хотите честный отзыв? Единственное решение - уйти на другую работу. Если все люди команды считают, что вы не очень хороши в своей работе, это не изменится в ближайшее время, извините, если скажу об этом. Так что ищите другую работу, потому что вы никогда не измените этот тип (глупый, я должен признаться) социального поведения.

Оливье Понс
источник
0

Ключ в том, как вы изложите свое дело и какие изменения вы внесете. Если вы утверждаете, что вы гуру программирования, который не делает ничего плохого и более удивительный, чем Джон Скит, то вполне вероятно, что в какой-то момент вас за это убьют. Ключ заключается в том, как вы представляете свои решения, чтобы вы могли показать, что это разумное решение проблемы, а не идеальное решение, которое не следует даже проверять.

Моим лучшим примером было бы обнаружение побочных эффектов от присутствия класса staticв веб-приложении, где я когда-то работал. Я не знал, насколько ужасно было бы, чтобы этот экземпляр сохранялся и был доступен всем пользователям приложения, но я извлек из этого урок и вовремя восстановился. Иногда может случиться так, что что-то будет найдено, и основные исправления должны быть сделаны. Я тоже был в этом лагере, где мне пришлось просеять кучу VBScript, чтобы уменьшить конкатенации строк, которые вызывали проблемы с памятью, когда я работал один раз. Я даже помню, как писал код, уязвимый для SQL-инъекций, еще в 1998 году, когда я писал фрагмент кода для поиска клиента, который должен был динамически генерировать SQL, поскольку у меня было ~ 20 необязательных полей в этой части приложения.


Перфекционизм может быть чем-то вроде обоюдоострого меча, вот как я вижу этот 3-й комментарий, так же как и время от времени я тоже. Плохо видеть, что есть все эти ошибки, и ничто не всегда правильно. Преимущество состоит в том, что, получая лучшее, что вы можете, вы вполне можете встретиться, если не превзойти ожидания других. Непрерывное совершенствование вполне может быть способом ПК видеть в себе перфекционизм, и если его сдерживать, я считаю это хорошей вещью. После всех сделанных ошибок ваш код попадает в производство? Это выполнит работу? Это пункты для размышления, а также, если кто-то всегда что-то исправляет, или это хорошо, что ты хочешь быть великим настолько плохо, что ты предпочел бы не делать ничего другого, пока это не станет совершенным? Практика может быть полезной, чтобы помочь найти шаблоны, чтобы сделать работу лучше. Тем не мение,

JB King
источник
Я не
Джон Скит
Я тоже совершил подобную ошибку. Решив сохранить статический класс в качестве контроллера в приложении MVC. Исходя из процедурного фона, мое ООП мышление развивается каждый день. Я все еще думаю, что мне нужно многому научиться, принимая решение о том, когда абстрагироваться, а когда нет. когда наследовать, когда идти на композицию. Хуже всего то, что после того, как меня подстрелили, я провожу время на обучение и через некоторое время чувствую, что наконец-то получил его ... пока меня не подстрелили снова ... потом он вернулся к учебе.
user20358
Я не против обучения. Это просто репутация, которую вы теряете, когда вы продолжаете совершать ошибки, даже если они каждый раз разные. Для всех вокруг все еще похоже, что вы сделали много ошибок. Не новый каждый раз, когда ты учился и становился лучше.
user20358