Недоліки в дизайні та боротьба з приниженням з цього приводу [закрито]


84

Ви завжди були принципово правильними у запропонованих вами розробках програмного забезпечення? Коли ви видаєте якусь конструкцію, яка була принципово неправильною, ви, як правило, втрачаєте повагу членів своєї команди. Незважаючи на те, що ви робите після цього, ви в кінцевому підсумку знаходяться за все, що ви запропонували після цього інциденту. Це особливо гірше, коли ви новачок у команді, і вони не знають вашого минулого, де у вас були хороші історії успіху.

Можливо, причина, по якій ви створили поганий дизайн, була через відсутність досвіду чи знань чи те й інше в цій галузі. Як ви зіткнулися з такою ситуацією? Це як одноразова річ у вашій кар’єрі чи це відбувається увімкнення та вимкнення? Хтось поставить це позаду чи комусь у такій ситуації потрібно шукати новий напрямок роботи? Кілька чесних відгуків, будь ласка ...

Дякую.


17
можливо, дизайн був правильним, просто для іншої системи ;-) не вкладайте своє его в свій код / ​​дизайн, є занадто багато факторів, щоб очікувати вдосконалення; інвестуйте натомість у свою готовність до навчання, чесність (особливо самопорядність) та командну роботу. Дизайн міг бути ідеальним в перший день, а вимоги змінюються на 2 день! Вчіться з цього і продовжуйте
Стівен А. Лоуе

Чому прихильність до вашого дизайну? Мета повинна полягати в тому, щоб зробити найкраще для товару / компанії. Запропонуйте щось. Запитайте у людей їх думки; попросіть їх знайти недоліки. Знайшли недоліки? Промийте і повторіть. Ніяких недоліків? Дій. Потрібні дебати чи обговорення плюсів та мінусів? Потім зробіть так. Захистіть свій дизайн там, де його потрібно захистити. Відпустіть це, коли воно просто не працює. Чому що-небудь із цього може бентежити? Це мозковий штурм. Люди завжди повинні мати можливість запропонувати найсмішніші, найглупіші речі ....
Swati

Я думаю, ти не розповідаєш усієї історії. Хоча всі не завжди створюють хороші конструкції, вони не прагнуть змусити інших вважати їх некомпетентними, якщо справді не видно, що дизайнер не має жодного поняття. Я підозрюю, що або ви просто не "отримаєте це", або вони намагалися вказати на деякі вдосконалення, і ви погодилися, швидше за все, відкидаючи деякі дуже основні принципи в процесі. І те, і інше, змусило б мене більше контролювати роботу розробника.
Данк

1
Я не погоджувався. Вирішене мною рішення не оспорювалося моєю командою, оскільки всі вони є юніорами. Коли я запропонував це нашому клієнту, який мав більше досвіду, ніж я, і кращої якості, я почав усвідомлювати, що він знімав це, Я десь прийняв принципово неправильне рішення. Я не тільки відчував себе дурнем, я також відчував, що я відпустив членів своєї команди, тому що вони довіряли мені, і тепер я сумніваюся, що вони це зроблять. Я не звинувачую їх. Я б дивився на мене підозрюваним, якби я був на їхньому місці.
користувач20358

4
Хороший розробник - це не розробник, який завжди приймає правильне рішення, але розробник, який приймає неправильне рішення, визнає це і швидко відновлюється від нього.
Руді

Відповіді:


177

Одного разу vp статки 500 коштував компанії в 1 мільйон доларів з поганим бізнес-рішенням. Коли він, звернувшись із відставкою генерального директора, відповів йому: "Я щойно вклав у вашу освіту один мільйон доларів, і тепер ви намагаєтесь піти? Я не приймаю".

Я втомлююсь від керівників та інших працівників, які швидко звинувачують помилку в тому, що хтось є новобранцем, або припускаючи, що вони некомпетентні. Є лише один спосіб стати хорошим дизайнером, а це - f @ $% на кілька. Мені байдуже, чи мої співробітники помиляються, мені байдуже, якщо вони роблять одне й те саме кілька разів. Питання в тому, наскільки покірний і наскільки ви навчальний? Коли хтось подає вам вашу помилку, ви спочатку захищаєтесь чи чуєте їх? Якщо ви один з рідкісних хлопців, котрий може проковтнути його гордість і навчитися на цьому, то вам варто зациклюватися. Кожен, від кого ви втрачаєте повагу за те, що помилився один раз, не є тим, хто заслуговує на вашу повагу.

Мені особисто довелося переписати перші два проекти, які я розробив хоча б двічі, але ви знаєте, що? Я навчився тон, і хоча мої роботодавці в цей час були збурені, це швидко було компенсовано ефективністю, яку я здобув з часом, готові вчитися на своїх помилках.

Що стосується принизливого аспекту та як відновитись, я маю дві поради. По-перше, люди за часом забувають. Крім того, коли хтось інший має прожектор на них, вони теж будуть гвинтовими. Тоді всі знову будуть рівні. По-друге, не будьте мудаком для інших, коли вони роблять чесні, навчання, помилки. Насправді, ви повинні заохочувати їх, якщо вони просто не потребують твердого удару в попу. Ви можете з часом допомогти змінити культуру своєї команди, пам’ятаючи, як ви себе почували, коли ви зробили чесну помилку. Ви зрештою надихнете людей бути кращими програмістами, дизайнерами та людьми.


3
Мені дуже сподобався цей коментар. У минулому я робив кілька помилок на своєму робочому місці, і хоча я не досконалий, я все-таки робив сенс вчитися у них. Я підійшов до свого колеги (набагато старшого в цій галузі, ніж я), і запитав, що я можу зробити краще, і вона дала мені кілька хороших вказівників. Мені подобається думати, що зараз я краще. Хоча мені боляче було знати, що я заплутався, і я відчув приниження, воно з часом проходить. Це мене обнадіює, бо це говорить мені, що я зробив правильно, і що це щось станеться. Тим більше, що це фактично моя перша робота. :)
Бен Річардс

1
Ваше право, яке люди забувають. Я колись допоміг зняти компанію на півдня на одному з оновлених оновлень БД. Це був жахливий день, але я закінчився, і я думаю, що всі інші теж.
Kratz

5
Приємний анекдот і хороший момент. Звичайно, я думаю: Легко сказати генеральному директору. Не вкладав власні гроші. Хтось із шкірою в грі не матиме такої химерної реакції на колосальну помилку. Однак якщо вони будуть чесними, вони визнають, що вони зробили багато менших помилок по дорозі, і навчилися у кожного. Головне - швидко провалитися, бути чесним і вибрати щось нове для своєї наступної помилки. :) Таке ставлення буде визнане і винагороджене в компаніях, на які варто вкласти свій кар’єрний час.
Грег Хендершот

1
@ BiAiB Віце-президент - в принципі означає "другий за командою".
Джонатан Хенсон

2
@Greg H: "Bizzarely відокремлений?" Ні, тільки раціональне. Хтось, хто намагається зробити гарну роботу, хто помилиться, вчиться на цій помилці. Замінити цю людину після того , як вони краще навчилися, іншим, хто не має досвіду, - це погане рішення. У них новий хлопець може мати чистий запис, але тільки тому, що він ніколи не пробував нічого цікавого.
Зан Лінкс

33

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

Для того щоб це працювало, команді потрібно довіряти один одному. Ви не можете побоюватися показати людям дизайн, який може бути хибним, і потрібно мати можливість приймати критику дизайну. У свою чергу, решта команди повинні розуміти, що вади дизайну не є відображенням дизайнера. Це очікувана частина дизайну. Це також, як члени команди вчаться і стають кращими: від власних помилок та помилок інших.

Якщо ви перебуваєте в нефункціональній команді, яка не працює так, у вас є два варіанти:

  1. спробуйте виправити команду
  2. знайти нову команду (або внутрішньо, або у нового працівника).

20

Наскільки я знаю, я завжди був принципово виправданим . Це не зовсім те саме, що бути принципово правильним . Часто обставини змінюються між часом, коли ви повинні прийняти рішення "x", і часом, коли стає зрозуміло, що "x" було неправильним заднім числом .

Це ніби підготовка податків на прибуток у США. Дуже багато людей думають, що тут має бути відповідь. Немає. Ви маєте свою думку; ваш податковий бухгалтер має свою думку; IRS має свою думку.

Коли я роблю помилки, я не втрачаю нікого поваги. (Наскільки я знаю.) Я думаю, що це тому, що частково я завжди визнаю власні помилки. (Насправді, я часто виявляю власні помилки.) Крім того, майже у всіх значних дизайнерських рішеннях більше ніж одна людина підписується на них. Будь-які помилки в цих рішеннях належать групі, а не повністю одній людині.

Що стосується визнання помилок, я думаю, що це стає простішим, коли ви набуваєте компетентності та досвіду. На мій досвід, чим новіше ти будеш розробляти та розробляти, тим менше ймовірність визнати помилку.

Це трапляється позаду, і це не повинно зірвати вашу кар'єру. Ніхто не знаходить відповідальної відповідальності незмінно приймає правильні рішення. Насправді, ніхто, який несе в собі значну відповідальність, незмінно приймає оборонні рішення.

Але більшу частину часу ви повинні мати можливість приймати захисні рішення на основі неповної інформації. Як сказала б моя дочка: "Це просто люди".


Чим більше я знаю, тим більше знаю, що не знаю. Моя широта знань росте повільніше, ніж моє усвідомлення речей, які потрібно знати. Я просто прагну бути кращим з кожним днем. Я використовую найкращі практики, які я знаю. Я дізнався, що деякі з них будуть не такі гарні, як я думаю, що вони є. На жаль, я погоджуюсь, що визнавати помилки стає простіше, коли ти набираєшся досвіду. Однак якщо у вас немає досвіду, слід очікувати помилок.
BillThor

Чудова відповідь! Я, безумовно, допустив свої помилки в дизайні, але не думаю, що ніколи їх не принижував, або втрачав повагу своїх товаришів по команді. Мої рішення завжди приймалися з причини, і коли виявилося, що мої міркування ґрунтувалися на помилкових чи неповних знаннях, я завжди визнавав помилку і працював над її виправленням.
Carson63000

8

Іноді всі не так трапляються. Помилки неминучі. Признавайся вільно, коли ти неправий, вчись на своїх помилках і проявляй смирення, особливо якщо ти спочатку не був переконаний, що ти насправді помилився.

"Приниження" не повинно відбуватися ніколи і ніколи. Це, швидше за все, не покращить працездатність людини.

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


Я по-друге, «культура поваги». Мені невдало бути одним із двох програмістів нашої компанії. Чому прикро? Тому що кожного разу, коли я (або справді хтось) помиляюся, інший програміст сміється тобі в обличчя, як ти ідіот. Що ще гірше, коли він робить помилку, йому завжди вдається покласти провину в іншому місці (інший співробітник, Windows, планетарне вирівнювання). Це не так, як все має бути, і тому я абсолютно зневажаю, просячи його про допомогу, боячись, щоб він перейшов на скандальний конкурс.
Герміод

6

Ви завжди були принципово правильними у запропонованих вами розробках програмного забезпечення?

Так, я нелюд! Ну, звичайно, ні.

Коли ви видаєте якусь конструкцію, яка була принципово неправильною, ви, як правило, втрачаєте повагу членів своєї команди.

Немає! Якщо це трапиться, то з командним духом щось не так.

Усі роблять помилки. Деякі рішення виявляються хорошими, деякі поганими, більшість - щось середнє. І успіхи, і невдачі слід сприймати як урок, як ви, так і решта команди.

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


4

Це трапляється з усіма. Головне - вчитися на своїх помилках і намагатися не допускати цього повторення. Також обов’язково визнайте, що це була помилка з вашого боку. Наприклад, я одного разу допустив помилку, використовуючи нижчий рівень доступу до даних (SubSonic3). У той час, коли я приймав рішення, я просто хотів відійти від розроблених вручну запитів SQL. Тож я вибрав те, що в той час здавалося одним із найпростіших для початку. Я теж не був досвідчений з DAL. Ну, після вирішення декількох проблем мені було цікаво, чому деякі запити затягуються занадто довго, і я виявив, що SubSonic без поважних причин тягнув цілі таблиці.

Отже, я сказав своєму начальнику, пояснив, що я помилився, і дав йому свій план виправити. Мій начальник, звичайно, не був у захваті від мене, зробивши досить велику помилку, вимагаючи декількох днів чистої міграції. Але він також переконався, що я знову не помилився. Він змусив мене створити проект з підтвердженням концепції для наступного шару доступу до даних, до якого я запропонував перейти, і ми переконалися, що він буде працювати з нашими вимогами, і що він не знищує цілі таблиці. Загалом, для мене це був хороший досвід навчання, і тепер я обов'язково переконаюся, що ключова частина проекту відповідає вимогам і не матиме великих проблем.

Тому в основному те, що ти робиш, це:

  1. Признайся, ти помилився
  2. Складіть план, щоб це виправити
  3. Переконайтеся, що ваш план справді спрацює
  4. Переконайтеся ще раз.
  5. Полагодь це!

Якщо ви не знаєте, як це виправити, не бійтеся залучати інших членів команди.

Останнє, розслабтесь! Усі роблять помилки. Дуже мало людей отримують це ідеально з першого разу


3

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

Вам потрібно емоційно позбавитись від свого рішення і витратити свій час на пошук найкращого рішення, тоді ви можете бути задоволені, коли проблема вирішена, навіть якщо її вирішує хтось інший.


3

Ви багато чого не говорите у своєму питанні. Я не можу сказати, що таке ваше налаштування для "видачі дизайну". Це первісна дискусія з однолітком щодо запланованого підходу чи це надання, на що ви сподіваєтесь, остаточного коду?

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

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

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

Помилки, виявлені на початку, легше та дешевше виправити. Вони повинні бути дуже простими, якщо ви не повторюєте одні й ті самі помилки. Експертні оцінки полегшують ранні помилки на помилках.

Якщо ви намагаєтесь бути самотнім кодером в командному середовищі, ви здійснюєте (майже невиправданий) гріх, думаючи, що ви досить досконалі, що вам не потрібна чужа допомога. Той факт, що це командне середовище, доводить, що проблема досить велика, що ніхто не збирається все це зрозуміти. Люди повинні розмовляти один з одним, або якщо помилки призведуть до того, що їхні голови будуть занадто близько до звільнення (або після звільнення).


Вирішене мною рішення не оспорювалося моєю командою, оскільки всі вони юніори. Мене залучили до команди, щоб вирішити проблему, з якою команда зазнала невдачі. Плюс до цього вже виникла погана конструкція, запахи коду тощо. Мене залучили як панацею, щоб виправити все це і зробити клієнта щасливим. Коли я запропонував цей новий дизайн нашому клієнту, який мав більше досвіду, ніж я, і кращої якості, я почав усвідомлювати, як тільки він його знімав, що я десь прийняв принципово неправильне рішення. Це було поступово краще, ніж те, що зробила команда, але все-таки багато в червоному ...
user20358

Як старший ресурс, я повинен був знати ці речі. Я впевнений, що моя команда теж думає.
користувач20358

@ user20358 Я б сказав, що ще має бути час, щоб врятувати свою репутацію в команді. Значні проблеми неможливо вирішити миттєво. Чи вас втягували, щоб стати магічною кулею з одного пострілу, або вас додавали, щоб постійно додавати досвід команді? Сподіваємось, останні. Якщо припустити, що вам потрібно інтегрувати себе в команду, щоб вони могли навчити вас тому, чого вони навчилися на цьому шляху, і ви можете використовувати свій досвід, щоб направити їх у кращому напрямку. Визнайте їхні успіхи та керуйте ними, щоб вони побачили та відкрили шляхи вдосконалення продукту.
jimreed

3

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

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

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


3

До тих пір, поки вони не стануть " Ранковою ранковою четверкою ". Я не маю ніякої користі для того, хто сидить через усі дизайнерські дискусії, не кажучи нічого, лише стверджуючи, що знав, що це не спрацює після факту. Ви повинні вміти брати критику, навіть якщо вона не поставлена ​​в конструктивному контексті.

Напевно, одна з найкращих особливостей сайту SO - це можливість ризикувати та запропонувати та непевне рішення. Це ви дізнаєтесь. Йти по життю з купою лайно в голові, що неправильно, але ти ніколи не говорив про контракт, це справжня незнання.

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


2

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

Що стосується того, хто запропонував дизайн, який не є зоряним, я б не заперечував проти цієї людини, якби ця людина продемонструвала, що бажає вчитися на помилці та була відкрита до критики. Якщо я бачу докази того, що людина так само прагне стати кращим і має здатність до цього, то погана дизайнерська пропозиція - це лише можливість навчання.


1

Це трапляється з усіма час від часу, тому найкраще робити, щоб зрозуміти, чому дизайн був неправильним, і навчитися цьому. Якщо це брак знань, то, невдача дизайну, сподіваємось, дасть вам нові знання, які ви зможете використати наступного разу. Не дозволяйте це відштовхувати вас, кожен переживає це в певний момент. Це найкращий спосіб набути досвіду та спійматися з новою командою / оточенням.


1

Це трапляється часто. Наша галузь змінюється настільки стрімко, що шанси ніколи не помилитися фактично дорівнюють нулю.

Однак ти штовхнув поганий дизайн вниз по грудях над їхніми запереченнями? Ось чому вони можуть реагувати на них.

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

Все, що ви можете зробити, це визнати, що ви помилилися, надайте належне тому, хто мав рацію, і прагніть краще слухати та краще досліджувати варіанти в майбутньому.

Що ви не вважали, що дизайн помилився? (Не випадковий приклад - спроектуйте процес імпорту для використання існуючої веб-служби, яка працює за рядком (повторне використання коду та потребує зміни лише правил бізнесу в одному місці), не розуміючи, що деякий імпорт матиме мільйони записів, і це займе кілька днів до закінчити.) Навчіться цьому і розглядайте ці речі в майбутньому.


Ні, я не підштовхую поганий дизайн. Мене залучили до команди, щоб вирішити проблеми, які колектив постійно зазнавав невдач. Плюс до цього вже виникла погана конструкція, запахи коду тощо. Мене залучили як панацею, щоб виправити все це і зробити клієнта щасливим. Скажемо лише, що коли я запропонував цей новий дизайн нашому клієнту, який мав більше досвіду, ніж я, і кращої якості, я почав усвідомлювати саме так, як він його знімав, що я десь прийняв принципово неправильне рішення. Це було поступово краще, ніж те, що зробила команда, але все ще багато в червоному ...
user20358

Я зізнався, що помилявся, але ця фарба дуже допомагає, тому що як мій менеджер, так і клієнт я повинен був знати краще, враховуючи свій досвід.
користувач20358

1
Тоді вам просто доведеться попрацювати, щоб довести себе до них найближчим часом. Люди роблять помилки, саме те, як вони одужують, коли їх пограбують, важливо. Це здається, ніби у вас не було всієї інфорамки, необхідної для розробки дизайну, можливо, вам доведеться розглянути більш ретельне дослідження до наступної проектної пропозиції. Коли щось вже є в поганому стані, важко розробити всі проблеми, ти зосередишся на деяких, але більш критичні можуть бути не настільки очевидними.
HLGEM

0

Там буде завжди бути помилки. Помилятися - це бути програмістом. Продовжуйте вчитися у інших в Інтернеті, особливо у ваших колег. Єдиний ганьба тут полягатиме в тому, щоб здатися або закопати голову в пісок, коли мова йде про такі питання, як тут.

Покладіть його за собою, опустіть голову і зробіть все можливе. Якщо ви хороший програміст, ви будете світити через свої помилки.


0

Якщо ви не впевнені, що ваша ідея лежить на міцній основі, вам слід обговорити її з кількома довіреними колегами, перш ніж запропонувати її всій компанії або відділу. Насправді, навіть якщо ви впевнені, вам все одно слід обговорити це з людьми, з якими ви працюєте, і які, швидше за все, знають вас найкраще. Вони допоможуть вирішити проблеми на початку.


0

У нас це трапляється часом. Використовуйте першу конструкцію як прототип. Дізнайтеся, що саме працювало, а що не було і чому. Тоді ви можете написати набагато кращий кінцевий продукт.

Не намагайтеся виправдати себе або захиститись. Визнайте помилку і рухайтеся далі.


0

Фундаментальна проблема, схоже, не пояснюється: це соціальна проблема. Таку поведінку ви можете побачити майже в кожній професії: якщо ви помилитесь, і їм подобається «класифікувати» вас у певних речах, це назавжди. Це соціальна поведінка. Навіть розумні та розумні люди схильні наслідувати всіх.

Дозвольте навести приклад, який не має нічого спільного з програмуванням: на попередній роботі я забув один раз або два рази помити посуд. Відтоді всі працівники думали, що я та людина, яка ніколи не миє посуд. А тепер, як тільки у мийці є брудна річ, це я (хто ще це міг би бути).

Це скрізь те саме: це соціальна поведінка, незалежно від того, яка це проблема.

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


0

Ключовим є те, як ви заявляєте про свою справу та які зміни ви вносите. Якщо ви претендуєте на гуру програмування, який не робить нічого поганого і є приголомшливішим, ніж Джон Скіт, то цілком ймовірно, що в якийсь момент вас зберуть за це. Ключовим є те, як ви представляєте свої рішення, щоб ви могли показати, що це розумне рішення проблеми, а не ідеальне рішення, яке навіть не слід перевіряти.

Найкращим моїм прикладом може бути виявлення побічних ефектів від проведення класу staticу веб-додатку, де я працював колись. Я не знав, наскільки погано було б, щоб цей один екземпляр зберігався і ділився з усіма користувачами програми, але я навчився цьому і вчасно відновився. Іноді може статися так, що щось знайдеться, і необхідно внести основні виправлення. Я теж був у тому таборі, де мені довелося просіяти купу VBScript, щоб зменшити рядкові конкатенації, які викликали проблеми з пам’яттю, де я працював колись. Я навіть пам’ятаю, як писав код, вразливий до ін'єкцій SQL, ще в 1998 році, коли я писав пошук коду клієнта, який повинен був динамічно генерувати SQL, оскільки у цій частині програми було близько 20 необов’язкових полів.


Перфекціонізм може бути дещо острим мечем, ось як я бачу цей 3-й коментар, а також є способом, яким я є часом. Погано бачити, що є всі ці помилки, і нічого ніколи не буває правильно. Добре в тому, що, отримуючи найкраще, що можна, ти цілком можеш зустрітися, якщо не перевершити очікування інших від тебе. Постійне вдосконалення цілком може стати комп’ютерним способом побачити перфекціонізм, і якщо він тримається в помірності, я вважаю це гарною справою. Чи не зважає на всі допущені помилки ваш код? Це робить роботу? Це точки, на які слід замислитися, а також, якщо хтось завжди щось на цьому фіксує, чи добре, що ти хочеш бути чудовим так погано, що краще не робити нічого іншого, поки це не ідеально? Практика може бути корисною, щоб допомогти знайти схеми, щоб краще виконати роботу. Однак,


Я не jon
skeet

Я теж допустив подібну помилку. Вирішили зберегти статичний клас як контролер у додатку MVC. Виходячи з процедурних передумов, моя думка про ООП розвивається щодня. Я все ще думаю, що мені багато чому навчитися приймати рішення про те, коли абстрагуватися, а коли не слід. коли успадковувати, коли йти за складом. Гірша частина - це після збиття, я витрачаю час на навчання, а через деякий час відчуваю, що я нарешті здобув це ... поки я знову не збиваюся .. потім повертаюся до навчання часу.
користувач20358

Я не проти навчання. Його тільки репутація втрачає Вен, ви продовжуєте робити помилки, навіть якщо вони щоразу різні. Для всіх навколо все ще схоже, що ви допустили багато помилок. Не кожен новий, що ви дізналися і покращилися.
користувач20358
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.