Коротше кажучи, кращий спосіб дізнатися , як правило , щоб бовтатися з ким - то ви можете дізнатися з . Якщо ви відчуваєте, що ваші навички не підряпані, найкраще ви можете спілкуватися з людьми, які кращі за вас. Безумовно, набагато краще, ніж віддалятися і ізолювати себе далі.
Однак, я думаю, ви малюєте дуже спрощену та оманливу картину. Далеко не всі "професійно вчені" програмісти - це справді користь. Тільки тому, що вони щось роблять, це не обов'язково означає, що це правильно робити.
І багато (але не все) того, що ви говорите, насправді звучить так, що саме ви можете навчити їх трюку чи двох.
Я схиляюся до функціональної сторони більше, ніж ОО, але бачу використання ОО, коли щось має більше сенсу як абстрактна сутність.
Це звучить для мене чудово. Найкращі кодери - це ті, хто використовує правильний інструмент для роботи. Я завжди вибирав би когось, хто знає обидві парадигми, і використовує кожну з них там, де це має сенс щодо того, хто релігійно використовує лише одну парадигму.
Далі я також проходжу простий маршрут, коли щось роблю. На противагу цьому, здається, що іноді код, який я бачу від професійних програмістів, заради нього складний!
Знову ж таки, простота - це добре . Не робіть свій код складним, поки він не повинен бути складним. Деякі люди , як правило, складають речі з якоїсь помилкової ідеї елегантності, або тому, що "ця додаткова функціональність нам знадобиться пізніше". Як правило, краще зробити найпростішу річ, яка вирішує вашу проблему.
Я використовую багато закриттів. Добре. Тому вони там. Вони лякають деяких людей, які застрягли в 1990-х і застарілу модель Java-квазі-OOP, але насправді це їхня проблема.
І нарешті, я не найкращий коментатор.
Що слід коментувати, і як, це дуже суб'єктивно. Там немає справжніх "правильних" чи "неправильних", але, працюючи над командою, важливо написати код, який може зрозуміти вся команда, а не лише автор коду. І іноді доводиться робити компроміси, щоб відповідати стилю кодування команди. Це не обов'язково означає, що ви повинні писати більше коментарів, це просто означає, що це щось, про що вам і вашій команді доведеться погодитися.
Я чую, як професійно підготовлені програмісти продовжують працювати над такими речами, як тести для одиниць. Щось я ніколи раніше не використовував, тому я навіть не маю уявлення про те, що вони є, або як вони працюють.
Ну, запитайте їх. :) Тестування вашого коду є важливим, і одиничні тести - популярний і корисний інструмент для цього.
Багато і багато підкреслень "_", які насправді не до смаку.
Як і в коментарях, це суб'єктивно і залежить від мови. У C і C ++ lowercase_with_underscores
є досить поширеною умовою іменування. У багатьох інших мовах ви практично ніколи не бачите підкреслення. Але наприкінці дня це справді не важливо. Будь-яка функція викликана write_to_log
чи WriteToLog
насправді не зміниться. Комусь доведеться просто висмоктати його і відповідати тому, що там домовилися команди.
Я нічого не знаю про MVC, я багато чув про це, хоча з такими речами, як backbone.js. Я думаю, що це спосіб організувати заявку. Це мене просто бентежить, тому що до цього часу я створив власні організаційні структури.
Як і в одиничних тестах, ніколи не припиняйте вчитися. Ви працюєте разом з людьми, які знають речі, яких ви не знаєте, і які походять з іншого походження, ніж ви. Вчіться один у одного. Очевидно, що ти можеш навчити їх, але є і речі, яких ти не знаєш, або про них ніколи не чув, чого вони можуть тебе навчити. Це не означає, що ви (або вони) поганий програміст. Це означає, що хороший програміст - це той, хто прагне вдосконалюватись та вчитися у інших.
Повне програмування OO справді залишає неприємний смак у мене в роті
Те саме тут, і я - те, що ви б назвали "професійно навченим" (ступінь CS). Люди, яких навчали програмуванню, відрізняються так само, як і люди-самоучки. Це здається, що ви працюєте з тими, кому справді потрібно навчитися декільком новим трюкам.
Насправді я дуже боюся того, що з часом люди перевіряють мій код. Це просто щось нормальне, через яке проходить будь-який програміст, або я дійсно повинен шукати, щоб змінити свої методи?
І те й інше. Звичайно, страшно, щоб інші дивились (і судили) те, що ви зробили. Але це також дуже навчально. Вони можуть сказати вам, що вони зробили б інакше, або чому б це зробили інакше. Вони можуть допомогти вам покращитись, і вони також можуть щось навчитися самі. Покажіть їм код, який вирішує проблему краще, ніж це зробив би їх "бажаний" варіант, і, сподіваємось, вони підуть "о, це акуратно. Як ви знали, що це робити? Як ви це називаєте? Я повинен сам використовувати цю техніку "