Автор оригинала: Christian Maioli.
Люди говорили о усталости JavaScript в последнее время, ссылаясь на то, как мы постоянно должны узнать о библиотеках, которые обычно не очень долго. Я думаю, что это обсуждение доказательства того, как хорошие программисты не могут быть ленивыми людьми. Вы должны понравиться изучать новые вещи. Это не так большая сделка, вынужденная к нему: в худшем случае вы станете лучше, чтобы идентифицировать хорошие библиотеки и чистоту программной архитектуры. ОБЪЯВЛЕНИЕ ИЗМЕНЕНИЯ, И это сделает вас лучшим разработчиком.
Есть еще один вид усталости JavaScript, который не имеет так много положительных элементов для него, и он не получил столько внимания. Я хочу поговорить об этом, потому что я считаю, что это говорит об ущелье в экосистеме JS. Ричард Столллер предусматривал бесплатное программное обеспечение в качестве среды, где люди поделились на их кодексе, а другие люди улучшаются, и это постепенно будет осуществлять прогресс в мире программного обеспечения, чем когда-либо, чем когда-либо окружающая среда источника. Я думаю, что есть некоторые требования для такой экосистемы для правильной работы. Определенный баланс должен быть сохранен.
Собор и базар , что должно быть необходимым чтением для любого разработчика открытого исхода, также намекала на эту проблему, когда говорят, что хорошие программисты знают, что написать, но отличные знают, что нужно переписать (и повторно использовать).
JavaScript в качестве языка не имеет правильного фокуса, необходимого для этого для этого. Просто слишком легко создать новую библиотеку или пакет, и так как кто-либо может сделать это через несколько секунд, это генерирует много шума. Язык даже эволюционировал, чтобы сделать его максимально простым, чтобы обернуть беспорядок DOM-Manipulation Code Code в паре экспортных линий и отправляет модуль в мир. Сейчас слишком легко поделиться плохой кодом.
Подумайте о процессе, который вы проходите, когда вы хотите найти пакет, который решает вашу проблему. Вы ищем GitHub, или реестр NPM, посмотрите, что популярно для этого, взгляните на сравнения между лучшими кандидатами, возможно, проверьте, какие из них имеют единичные тесты, хороший размер кода, разумную архитектуру, некоторую минимальную документацию, отзывчивые лидеры проекта. , Это может занять несколько часов, даже дней, чтобы решить.
Забытые кромки
Недавно мне нужна библиотека, чтобы построить строки запросов, просто маленький, чтобы мне не придется включить jQuery только для этого. После пары часов исследований я обнаружил несколько кандидатов, но он быстро стал очевидным, что, хотя они работали и обновили библиотеки, ни один из них не смог правильно обращаться с вложенными объектами и массивами, таким образом, как мог.
Если вы знакомы с правилом 80/20: краевые чемоданы, являются 20 рабочих мест, которые занимают 80% времени, и, к сожалению, большинство программистов не собираются прилагать усилия, если большая часть выгоды выпускает их библиотеку уже был набран. Список завершенных и без ошибок программы сложны. Совместное использование плохого кода нет. Slap прохладная анимация в вашем файле Readme, и все будут предполагать, что ваш проект потрясающий.
Там появляются более 200 000 проектов JS, с языковыми функциями, которые сосредоточены на повышении этого номера и инструмента, что делает его еще проще. Легко поделиться плохим кодом и трудно определить и улучшить его.
О, так вы потратили пару дней, исправляя эту ошибку в библиотеке, которую вы скачали? Отличная работа, и я надеюсь, что вы помнили, что вы вручную проверить, насколько активен проект, и если они принимают PRS, и если ожидание PR уже не исправляет ошибку. Удерживающие проекты не имеют достаточного количества инструментов, чтобы облегчить работу и, к сожалению, инструменты, которые у них часто являются сложными и внедряющимися.
Подумайте, насколько трудно отслеживать, какие вилки интересны, даже если выработка нового вилки требуется только нажатие кнопки.
По правде говоря, некоторые инструменты были созданы, которые стремятся содействовать написанию хорошего кода, например, линтам, Code Checkers и так далее, но они не так многочисленны, и строительные инструменты для анализа AST могут быть жесткими. Это большая битва.
Ода производительности
Программисты любят быть продуктивными. Как только вы узнаете, что пара линий кода может сэкономить вам часы работы, вы можете попасть в ловушку полагать, что производительность является конечной целью и любой библиотекой или рамки, которые заставляют вас решать проблемы быстрее. На самом деле, многие люди верят в этом, и инструменты, которые упрощают вашу работу, часто станут причудами со многими людьми. Это может пойти так далеко, чтобы достичь менеджеров и рекрутеров проекта и привлечь их активно искать людей, которые имеют опыт работы с нынешней модной структурой, потому что все The Top Tech Companies используют его, и их разработчики ругались, так что это явно должно быть хорошо.
Этот диск к производительности является причиной существования увеличения числа инструментов сборки, инструментов генерации кода и Услуги, которые стремятся сделать доставку максимально простыми, и никто не будет вопрос, если вы должны вообще доставлять свой посылку.
Фрагментированная природа крупных экосистем с открытым исходным кодом стала очевидной с момента появления Android. Это далеко идущая проблема, и она также является самообеспечением, потому что языки с небольшими общинами, такие как GO и NIM, еще не страдают от нее, и это делает их более привлекательными, что приведет к фрагментации на еще большую масштаб, поскольку разработчики ралли Зеленые пастбища.
Фрагментация похожа на вирус, управляемый человеческой страстью к созданию. Люди любят делиться тем, что они делают, и слишком много генерирует шум и делает его трудно понять, что это действительно полезно.
Помните Google’s Polymer? Угловой 1? Выражать? Возможно, создатели таких тестеровных проектов, которые заброшены, если они не вытесняют, должны быть более прозрачными в отношении их намерений. Ведь вводящие в заблуждение тысячи пользователей не генерируют позитивное отношение к открытому источнику и могут привести к горечью и большей фрагментации. [Редактировать: я был вызван для этого утверждения, Но просто Посмотрите, как Google злоупотребляет открытым исходным кодом, чтобы держать другие компании под ремнем (совершенно страшная статья) Несомненно
Вместо воспитания послов нарциссических языков, которые бросают свои проекты, как будто они меняют шляпы Fedora каждый раз, когда они получают новую идею, давайте сосредоточимся на организованных усилиях и создании ощущения общества. Давайте сделаем инструменты, которые помогают уменьшить шум. Давайте сложнее делиться дерьмом и легче поделиться хорошими вещами.
Человеческий прогресс не произойдет по умолчанию, поэтому не предполагайте, что более открытыми средствами лучше. Открытая среда хороша до тех пор, пока она имеет активное мониторинг и групповые усилия.
Хочешь узнать больше?
Подпишитесь на рассылку и Получить новые статьи еженедельно !