Короче говоря, лучший способ узнать , как правило , чтобы болтаться с кем - то вы можете узнать с . Если вы чувствуете, что ваши навыки не на высоте, то лучше всего общаться с людьми, которые лучше вас. Конечно, гораздо лучше, чем уйти и изолировать себя дальше.
Тем не менее, я думаю, что вы рисуете очень упрощенную и вводящую в заблуждение картину. Далеко не все «профессионально обученные» программисты действительно хороши. То, что они что-то делают, не обязательно означает, что это правильно.
И многое (но не все) из того, что вы говорите, действительно звучит так, будто вы тот, кто может научить их трюку или двум.
Я склоняюсь к функциональной стороне больше, чем к ОО, но вижу использование ОО, когда что-то имеет больше смысла как абстрактная сущность.
Это звучит здорово для меня. Лучшие кодеры - те, кто использует правильный инструмент для работы. Я всегда выбирал кого-то, кто знает обе парадигмы, и использует каждую из них там, где это имеет смысл, над тем, кто религиозно использует только одну парадигму.
Далее я тоже иду простым путем, когда что-то делаю. И наоборот, иногда кажется, что код, который я вижу у профессиональных программистов, сложен ради этого!
Опять же, простота это хорошо . Не сделать код сложным , пока он не нуждается , чтобы быть сложным. Некоторые люди действительно имеют тенденцию делать вещи сложные из какой - то ошибочной идеи элегантности, или потому , что «мы будем нуждаться в этом дополнительную функциональность позже». Как правило, лучше сделать простейшую вещь, которая решает вашу проблему.
Я использую много замыканий. Хорошо. Вот почему они там. Они пугают некоторых людей, которые застряли в 1990-х и устаревшей квази-ООП-модели Java, но на самом деле это их проблема.
И, наконец, я не лучший комментатор.
Что и как следует комментировать, очень субъективно. Здесь нет настоящего «правильного» или «неправильного», но при работе в команде важно писать код, который может понять вся команда, а не только автор кода. И иногда приходится идти на компромиссы, чтобы соответствовать стилю кодирования команды. Это не обязательно означает, что вы должны писать больше комментариев, это просто означает, что это то, что вы и ваша команда должны будете согласовать.
Я слышал, что профессионально подготовленные программисты продолжают говорить о таких вещах, как модульные тесты. Что-то, что я никогда не использовал раньше, поэтому я даже не представляю себе, кто они и как они работают.
Ну, спроси их. :) Тестирование вашего кода имеет важное значение, и модульные тесты являются популярным и полезным инструментом для этого.
Много и много подчеркиваний "_", которые мне не по вкусу.
Как и в случае с комментариями, это субъективно и зависит от языка. В C и C ++ lowercase_with_underscores
это довольно распространенное соглашение об именах. Во многих других языках вы практически никогда не увидите подчеркивания. Но в конце концов, это действительно не важно. Независимо от того, вызывается функция write_to_log
или нет, WriteToLog
она не будет иметь значения. Кто-то должен будет просто смириться с этим и соответствовать тому, о чем там договорилась команда.
Ничего не знаю о MVC, я много слышал об этом, например, с backbone.js. Я думаю, что это способ организовать приложение. Это просто смущает меня, потому что к настоящему времени я создал свои собственные организационные структуры.
Как и в модульных тестах, никогда не прекращайте учиться. Вы работаете вместе с людьми, которые знают вещи, которых вы не знаете, и которые происходят из другого происхождения, чем вы. Учитесь друг у друга. Ясно, что вы можете их научить, но есть вещи, о которых вы не знаете или о которых никогда не слышали, и которым они могут вас научить. Это не значит, что вы (или они) плохой программист. Это означает, что хороший программист - это тот, кто стремится совершенствоваться и учиться у других.
Полное программирование ОО действительно оставляет неприятный вкус во рту
То же самое здесь, и я - то, что вы бы назвали «профессионально обученным» (степень CS). Люди, которых учили программированию, отличаются так же, как и люди, которые самоучки. Похоже, вы работаете с теми, кому действительно нужно выучить несколько новых трюков.
На самом деле, я довольно напуган тем, что люди в конечном итоге будут проверять мой код. Является ли это просто нормальным явлением для любого программиста, или я действительно должен изменить свои методы?
И то и другое. Конечно, страшно, когда другие смотрят (и судят), что ты сделал. Но это также очень познавательно. Они могут сказать вам, что они сделали бы иначе, или почему они сделали бы это иначе. Они могут помочь вам улучшиться, и они могут также чему-то научиться сами. Покажите им код, который решает проблему лучше, чем их «предпочтительное» решение, и, надеюсь, они пойдут «о, это здорово. Как вы узнали, как это сделать? Как вы это называете? Я должен сам использовать эту технику» "