Рубрики
Без рубрики

Один человек / книга, которая изменила мою жизнь и сделало меня лучшим разработчиком

Одна книга / человек, который изменил мою жизнь +, сделал меня лучшим разработчиком. Теги с WebDev, JavaScript, карьерой, советом.

TL; DR: Это Addy Osmani . Он написал книгу под названием Обучение дизайна дизайна JavaScript Отказ Он заставил меня бесконечно лучше, потому что узнал основные принципы программирования. Рамки, API, языки приходят и уходят. Принципы программирования и конструктивных узоров являются вечными.

Бесконечная игра

Я недавно видел Саймон Синек Говорите в Нью-Йорке, чтобы запустить свою новую книгу под названием Бесконечная игра . Основная концепция бесконечной игры – играть в долговечность – иметь видение. Выиграй войну, а не битва. Конечная игра имеет предопределенную, фиксированный набор правил, которые все игроки должны соблюдать. В бесконечной игре правила продолжают меняться; Игроки приходят и уходят.

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

Игра менялась

Это 2011 год. Я запустил Streaming Video Startup. В то время я весил, какой текстовый стек использовать. Разум вас, следующая эволюция библиотек и рамки заваривалась на этот раз. JS Frameworks, как позвоночник, Эмбер, угловые, только что приходил на сцену. jQuery был повсеместно. ES6 не существовала. Internet Explorer был еще вещью работать. Правила CORS были очень свободными. SASS начал использоваться более тяжелее. Node.js начал получать значимое усыновление.

Рынок менялся и быстро меняется Отказ Было ясно, что был огромный аппетит для Скорость – Скорость на рынок, развитие, производство, развертывание. Минимальный жизнеспособный продукт (MVP) стал религией.

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

Разрешение на запуск

Достаточно сказать, я был перегружены и смущены . Промышленность, казалось, расходилась вместо сходящейся. Были стандарты, изложенные на W3C и ECMA, но эти популярные рамки делали вещи по-разному. Новые идеи были введены и толкать ограничения – иногда для хорошего, иногда для плохого.

Однажды я наткнулся на этот несущий, черно-белый сайт. Это выглядело так:

Одно из первых предложений, которые я читал:

«Еще один способ взглянуть на узоры, как шаблоны для того, как вы решаете проблемы – те, которые могут быть использованы в довольно нескольких различных ситуациях». – Addy Osmani.

Продано.

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

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

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

Я могу использовать более одной технике в зависимости от ситуации под рукой. Вау – мир – моя устрица. Сейчас вооружено универсальным знанием, большей уверенностью и большим пониманием техники и когда их использовать, Addy Osmani дал мне разрешение на запуск моего запуска, используя — JavaScript. Я чувствовал Бесплатно и уполномочен.

«Возможно, вы не думаете, что программисты – это художники, но программирование является чрезвычайно творческой профессией. Это логическое креативность. ” – Джон Ромеро

Скорость

Я получил то, что хотел. Скорость Отказ Скорость в развитии, имея возможность повторно использовать код. Скорость на рынок, имея возможность писать с меньшим дублированием и смотреть на мои предыдущие решения для ответов. Скорость в бортовых членах команды, потому что теперь мой код был легче читать и структурировать осмысленно. Мой 5000 линейный файл (!!) был разбит на кусочки размером с укусом.

Экзистенциальная гибкость и долголетие

Быстро вперед несколько лет до 2014 года. Угловой 2 был объявлен и вызвал шум. Ландшафт JavaScript снова менялся. Некоторые из самых используемых рамок начали терять тягу. Игроки собирались. Новые игроки прибыли :

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

Изменение игроков

Я пришел к осознанию того, что происходило сейчас Дежа Ву Отказ Это произошло с генерацией рамки и библиотеки 3 года назад и произошло с рамками и библиотеками, которые пришли перед ними и так далее. И с добавлением Addy Osmani, я понял, что Разработчики просто обнаружили узоры и повторяющиеся проблемы, искали способы добиться лучшего программирования решений, а затем выпустили свои выводы в том, что называется рамки Отказ На этот раз они называли реагировать, Vue и т. Д. Скоро последовать имена, такие как Next, Svelte, LithTML и так далее. SCSS, меньше. Джанго, Ласкал. Все они просто пытались помочь нам, потому что они испытали свои собственные боли в одном моменте Отказ

Если вы копаете код и принципы этих структур, вы поймете, что все они применяют шаблоны дизайна – некоторые более заметны, чем другие. Наблюдатель это большой. Вы также поймете, что они по сути, чьи-то абстракции, мнения – написанные на «чистом» языке, например, JavaScript, Python и т. Д. «Магия» была раскрыта, и я понял, что код, который моя команда, и я написал, был выровнен в принципе для таких структур.

Долговечность

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

Новые стандарты, ES6

Правила игры еще раз изменились. Новый и лучший способ создания вещей был там там. Так есть где люди пошли. ES6 пришел в 2015 году и установил новые стандарты. Оказывается большая часть этих новых стандартов, оказывается, были вдохновлены или выведены из рамок и библиотек, которые пришли перед ним!

Браузеры изменились. Мобильные устройства стали быстрее. Поддержка современных языковых функций прибыла быстро. Тем не менее, основные принципы остались. Шаблоны дизайна остались. ES6 представил Классы , который является просто синтаксическим сахаром для прототипического наследования. Модули Были введены, что просто расширенная поддержка модульного паттерна, описанного Addy Osmani в его книге.

Новая жаркость и бесконечная игра

Теперь горячая новая вещь – Функциональное программирование И есть некоторые сторонники этой парадигмы, которая рассматривает это как религию. Внезапно больше ничего не имеет значения, и все остальное не так. Мы видели эту игру, когда Реагистрационные крючки Отказ Внезапно, если вы все еще использовали классы, вы сейчас незаконно. Это играет с Конечное мышление внутри Бесконечная игра Отказ

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

Addy Osmani, наставник многим

Addy Osmani оборудовал меня знаниями, которые поднимаются над трендами и выдерживают испытание временем. Я могу выучить новые языки и синтаксис быстрее и более эффективно из-за моего понимания принципов и узоров. Он дал мне уверенность в создании приложений без чувства с ограниченными возможностями определенными правилами и нормами (то есть вы всегда должны делать это таким образом). Он привился во мне бесконечное мышление, чтобы, когда проигрыватели и уходят, тенденции прибывают и исчезают, я могу оставаться жизнеспособным, готовым учиться, может рефакторировать с минимальным ударом и создавать приложения, которые поддерживают тест времени.

Окончательные мысли о наставнической мысли и думать о себе

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

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

Вот ссылка на книгу Addy Adsmani, изучая шаблоны дизайна JavaScript – https://addyosmani.com/resources/essentialjsdesignpatterns/book/ .

Оригинал: “https://dev.to/eaich/the-one-person-book-that-changed-my-life-made-me-a-better-developer-5g81”