Як я можу почуватись впевненіше у своїх навичках програмування? [зачинено]


37

Програмування мені не чуже. Я вперше почав робити розмітку (HTML, тепер, будь ласка, не смійтесь з мене), коли мені було 12, і трохи БАЗОВО, коли мені було 13 (я знав багато про блок-схеми, псевдокоди в цей момент), але потім мені попросили Біологія в середній школі, а отже, пропустила "справжні" знання з програмування таких мов, як C, Java та ін. Я взявся за CS для мого UG BE (подібно до BS, але набагато теоретичніше). Я навчився C & C ++ (меншою мірою) самостійно (мій професор був тотальним болем, і клас був заповнений кодовими джокерами (хто вже вчив його в школі, а значить, не звертав уваги на клас і не нехай менші смертні, як я, також звертають будь-яку увагу на заняття)) і можуть зібрати дивовижну програму додавання чи множення (те, що зараз навіть у садочках "

Моя основна проблема полягає в тому, що я завжди відчував себе неадекватним і задушеним моїми обмеженими навичками програмування і ошелешений кодовими джокерами (повірте, я натрапив на цей сайт давно, але я міг просто набратися сміливості фактично розміщувати повідомлення питання) і часом були навіть пригнічені згаданою нездатністю. Більшість людей кажуть, що програмування не обов'язково стосується мови, а душевного стану, яке має людина, та методи, які вони використовують для вирішення проблем / проблем. Я погоджуюся з такими настроями, але чи можу я коли-небудь придбати такий "душевний стан", і якщо такий, як я повинен підходити до "Програмування / кодування", і якщо є якісь задані способи та кроки, до яких найбільше пройти, щоб досягти "дзен кодування ". Як це зробити? Крім того, не завадило б, якби якийсь святий захотів наставник цього занепалого шматка $ #! ^.

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

TL; DR: Ніколи не навчився "Програмування / кодування", не може вирішити проблеми, навіть якщо я намагаюся. Допоможи мені!


22
Не сварись на себе. Ніхто не вийшов з програмування утроби. Чим більше ви кодуєте, тим більше будете думати в коді. Повеселіться з цим.
Стівен Еверс

9
Якщо ви думаєте "Гм, помилка, мабуть, у моєму коді, а не у компіляторі", ви на шляху мислення, як програміст (ну, як і більшість програмістів).
габлін

5
@SnOrfus: Ніхто, крім Джона Скіта;)
back2dos

4
від однієї нобі до іншої: практика - це ключ!
Чані

1
@Snorfus Б'юсь об заклад, мало хто зробив! : P
Марк C

Відповіді:


26

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


Пропозиція правила 10000 годин звучить як справедлива. Дійсно інтригуюче, але яку мову я повинен вибрати, яка все-таки буде актуальною, і пропонує таку ж гнучкість нових мов (наприклад: Якби я вивчив Java глибоко з усіма поняттями, я міг би перейти до Scala, Processing, Clojure, тощо досить легко).
Ameen

11
Амейн: Не хвилюйся про інші мови. Вивчіть один. Перемістіть пізніше, після того, як ви поставите 10000 годин на Java. Життя довге, є багато мов, ви їх не навчитеся всі. Нові вигадуються постійно. Дізнайтеся одне зараз. Переживайте за майбутнє після цього.
S.Lott

2
"витрачати більше часу на це" в розпливчастій формі не є ефективним.
Рейн Генріхс

1
Також хорошою стратегією є вивчення об'єктно-орієнтованої мови програмування та вивчення функціональної мови програмування. Вивчіть статично введену мову та динамічно набрану мову. Ви будете добре закріпленим розробником.
Хірон

1
@BSeven Потрібно ознайомитись з есею Пітера Норвіга на тему "Навчіться програмуванню на 10 років", подібне до цього, і проливає тонну світла на кілька основних питань, які приїжджають до програмування.
Ameen

16

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

Редагувати: Ви повинні прочитати Ship It . Це чудово.

Знову редагуйте. Досвід роботи, окрім доставки, - лише невдача. Я бачив багато "старших" розробників, головним досвідом яких не було доставки речей (і пошуку виправдань для їх доставки). Справжні художники відправляються .


12

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

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


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

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

@Wes Baker: Дякую вам за цю тему новин Hacker News Я, безумовно, можу сказати про думки ОП (хоча у мене це було не так погано). Я (думаю) маю досить гідні знання з операційних систем, архітектури комп’ютерів, алгоритмів, структур даних, комп'ютерних мереж, криптографії, зберігання даних тощо (хоча мені потрібно їх виправити). Як я вже говорив, я знаю всі ці предмети з теоретичної POV, і фактично не робив практичних речей з цього питання. Неодмінно проскакуйте через цю нитку, також буде багато дивовижних порад. Тивм!
Ameen

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

9

Кілька речей, які вам знадобляться:

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

Цілі: Поставте собі цілі. Скажіть, навчіться використовувати STL в C ++ за два тижні. Подивіться, як добре ви робите. Якщо ви займете більше часу, слідкуйте за тим, як довше, це допоможе вам зробити краще в майбутньому. Цю хитрість я навчився у колеги; На сьогодні він міг оцінити, скільки часу потребуватиме практично будь-яке завдання. Це допомогло мені відстежувати, скільки часу я витрачаю на особисті проекти, і допомагає мені не запускати повітряні кулі поза контролем (управління сферами вони називають це).

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

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

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

Удачі! І пам’ятайте, це має бути весело! = D


Дякуємо за ваш проникливий внесок. Однією з моїх проблем завжди було те, що я (часто) націлювався занадто високо і впав обличчям в першу чергу. Моя підсвідомість могла скористатися підходом «Спалений один раз, двічі сором’язливо» і, можливо, блокує мої спроби виправити це. Мені завжди було цікаво, але відсутність наставника змусила мене ігнорувати мою цікавість. І якщо серйозно, то SE виглядає набагато приголомшливішим з часом, я обов'язково ознайомлюсь із цим дивовижним ресурсом і досягну своєї мети стати належним програмістом. Велике спасибі, я серйозно не можу сказати, скільки для мене означає ваша публікація.
Ameen

Я радий допомогти! = D
bryanegr

Найкраща мета: корабельний код!

7

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

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

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

На більш дрібну ноту, настрої, описані в http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (розділ: Ви докорінно завищуєте середню майстерність змагань через: натовп, з яким ти тусуєшся) мені завжди допомагав.

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


4

WhiteFang34 абсолютно прав. Будучи самим біологом, я виявив, що єдиний спосіб, яким я повинен навчитися програмуванню, - це просто почати це робити. Прочитайте кілька книг, завжди під рукою Google і ТАК, і "просто зробіть це". Ваші програми будуть на початку дуже елементарними, погано закодованими та баггі, і ви з часом станете все кращими та кращими. У мене немає часу на уроки програмування, але я витрачаю багато часу на кодування (тому що це цікаво робити).

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

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

Удачі та щасливого кодування

PS: Ой, і вам знадобиться багато лінощів, нетерплячості та примхливості

http://c2.com/cgi/wiki?LazinessImpatienceHubris


4

Смішна річ:

Програма програміста не стільки стосується комп'ютера, мови програмування,
моделей дизайну чи алгоритмів

Йдеться про розуміння тонкощів реального світу, взаємодію між речами. Здатність мислити абстрактно . Уміння помічати речі і запам’ятовувати їх. Це неминуче призводить до гарного вирішення проблем.

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


4

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

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


3

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

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

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


Велике спасибі. Мене дуже цікавить програмування (я вирішую проблеми в голові - і, звичайно, в алгоритмах, блок-схемах і т. Д.), Мені здається, мені не вистачає дотримуватися проекту і продовжувати його працювати і просити допомоги, коли застряг в глухий кут. (все це має закінчитися зараз, хоча :) Дякую SE) Також мене дуже зацікавив HTML5 + JavaScript (часткове завантаження сторінки - Mashable реалізує це дивним чином, завантаження відповідей на SE тощо). Насправді не знаю гідних ресурсів для того, щоб їм навчитися (хоча W3C-школи нібито хитаються; W3Fools так говорить!)
Ameen

3

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

  • вирішення проблеми
  • вивчення нового
  • зробити згин комп’ютера за вашою волею
  • щось ще...

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

Мій фон схожий на ваш. Почав будувати комп’ютери у віці 10 років. Чи трохи HTML / C ++ у моїх середині підлітків ... нудно було з цим ... кинув на кілька років. Я ніколи не переставав грати з комп'ютером.

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

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


3

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

Зауважте, що кар'єра в програмуванні - це протягом усього життя розчарування, навчання, експерименти та нахили проти вітряків. Поки ШІ не переймуть усе.

Якщо ти все ще займаєшся реальною наукою, то ти повинен мати можливість уявити якийсь проект / потребу. Наприклад, поєднання даних із різних джерел в Інтернеті чи поза ними. Це може надихнути, що ви вивчаєте JavaScript або R або навіть Excel / VBA. Якщо ви зможете підключити деякі точки для інших у своїй галузі, ви будете розпізнані, et voila, ви будете програмістом.

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

І, до речі, «дзен-кодування» - це оксиморон.


3

Ви ніколи не будете впевнені у своїх навичках програмування.

Те, як ви описуєте свої навички, вказує на мислення, де ви ніколи не будете задоволені своїми навичками. Ви освоїли C ++? Зачекайте, що є Java! Ви освоїли Java? Зачекайте паралельного програмування. Ви освоїли паралельне програмування на C ++ та Java? Зачекайте, що там SOA! Є ТОВ! І MVC! Твердий! Функціональне програмування! Веб-програмування! Хмарне програмування! Мобільне програмування!

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


Нічого собі, це абсолютно новий погляд на це. Любіть так, як ти це робиш, завжди буде щось, що ти захочеш зробити. Я дійсно повинен почати перетворювати свої негативи на позитиви. Дуже дякую. Оцініть це!
Ameen

3

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

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

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

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

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


Звичайно, мені це потрібно зробити. Але моє его забиває і каже: "Ти недостатньо хороший, щоб інші могли робити речі, чорт, ти навіть не хороший, щоб бути тут". Я знаю, що це звучить нерозумно, і, як деякі люди тут згадували про це, можливо, я просто боюся підкреслити свій мозок, але я стану, я наголошу на цьому грудку жиру, поки його немає нічого. Дякую за пропозицію, і я спробую щодня дотримуватися моєї нової звички бити SE за цікавими питаннями. Дякую, що ви взяли тайм-аут і відповіли на моє дурне запитання. Я дійсно ціную це!
Ameen

3

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

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

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

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


Нічого собі, ти щойно прибив ніг найбільшого винуватця, про якого я коли-небудь підозрював. Мій мозок, у мене завжди були проблеми із застудженням ніг, і більшу частину часу я закінчую саботажем. Завжди є виправдання, яке я вигадую, щоб не робити важливого. Мені потрібно стати хакером і перестати турбуватися про те, що монументально не вдасться через минулі невдачі. Мені потрібно зламати своє життя, щоб я став найвірогіднішим "Так людиною". Дякую, що вказали на деякі недоліки в мені, які мені справді потрібно було змінити, і я сподіваюся це зробити якнайшвидше. Дякую тони, і я ніколи не можу вам подякувати за це! Ура.
Ameen

2

Три речі, які слід врахувати: (Або ні, звичайно.)

  1. Практика. Що робити, якщо невдача означала не що інше, як показник, який ви практикуєте? Якщо ви відмовилися ходити в перший раз, коли впали, ви все одно повзали б.
  2. Грайте з усім, що ви робите. Гра - це просто щось спробувати і помітити, що відбувається. Відмовтеся від судження хороших / поганих результатів, просто пограйте і подивіться, що вийде. Відмовтеся від прихильності до певного результату, просто спробуйте щось і подивіться, що станеться.
  3. Що робити, якщо ви не єдиний програміст у світі, який коли-небудь відчував це?

2

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

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

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

Якщо хтось оскаржує ваш код, оскільки ви взяли 25 рядків замість 20, я б схильний просто ігнорувати їх, якщо вони не знайдуть фактичного недоліку в логіці. Іноді в реальному світі нам доводиться просто робити речі (а хто насправді хоче послухати, як хтось із грудей задихається про те, як складно ... помилково, елегантно їм вдалося зробити шматок коду, який повинен був бути зроблений за 10 хвилин) . Чи можете ви навчитися чомусь із нескінченних філософських дискусій про те, наскільки далеко до абстрактних речей? Звичайно ... але зменшення віддачі стає всмоктуванням у постійну 100% елегантність. Це нереально весь час настільки, наскільки ми б хотіли робити вигляд, що це так. Деякі з моїх найменш елегантних кодів, якими я б соромився поділитися з ким-небудь (про що я писав на початку своєї кар'єри), врятував людей тижнями, тижнями,

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

http://www.joelonsoftware.com/items/2009/09/23.html

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


1

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

Це не дуже потрібна вам впевненість, це менше шуму на вашому шляху прогресу.

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