Комментарии 21
Я обычно стремлюсь к тому, чтобы размер моих файлов не превышал бы 100 строк.
речь в статье о достаточно серьезных проектах. с такими мелкими файлами их количество перевалит за 100, 200… автор удачно назвал это лесом. в нем и заблудится недолго.
почему бы для навигации по содержимому файла не воспользоваться встроенными средствами редактора. например, у Visual Studio (взрослой) есть для этого три списка навигации.
0
Используйте несколько параметров функций вместо одного объекта с параметрами
Не согласен. Есть случаи когда параметров функции очень много, тогда лучше передавать объектом, но при этом написать комментарий перед функцией (например в формате JSDoc)
+4
Используйте строгую типизацию (TS/Flow).
+1
Не буду отрицать, советы, по большей части, полезные. Вот только лет им уже в районе сорока. Нет, это конечно хорошо что инфлюэнсер открыл для себя Макконнела и прочих, но что-то смущает меня высказывание
То есть предполагается, что владея языком на среднем уровне разработчик не был в курсе что такое модули и как называть переменные? А фраза «хотя бы» намекает что и некоторым гуру не помешало бы ознакомиться с этими секретами мастерства?
Но особенно полезной она будет для тех, кто знаком с JavaScript хотя бы на среднем уровне.
То есть предполагается, что владея языком на среднем уровне разработчик не был в курсе что такое модули и как называть переменные? А фраза «хотя бы» намекает что и некоторым гуру не помешало бы ознакомиться с этими секретами мастерства?
+5
Статья противоречивая. Сначала советуют несколько аргументов вместо объекта, а потом приводят советы по организации функций, принимающих единственный аргумент объект.
Как раз наоборот.
Единственный выигрыш от нескольких переменных, вместо объекта, это экономия памяти на аллокации объекта.
Разница, к слову, весьма ощутимая, когда речь заходит про high perf приложения. Это одна из причин, почему в ядре ReactJS можно редко увидеть функции с единственным аргументом-объектом.
Но если писать функции, учитывая возможное будущее масштабирование приложения, лучше использовать несколько параметров.
Как раз наоборот.
Единственный выигрыш от нескольких переменных, вместо объекта, это экономия памяти на аллокации объекта.
Разница, к слову, весьма ощутимая, когда речь заходит про high perf приложения. Это одна из причин, почему в ядре ReactJS можно редко увидеть функции с единственным аргументом-объектом.
+2
НЛО прилетело и опубликовало эту надпись здесь
Как раз наоборот.
Единственный выигрыш от нескольких переменных, вместо объекта, это экономия памяти на аллокации объекта.
А вы вообще понимаете, что в статье говорится не о мифическом перфомансе и экономии на спичках, а об удобстве работы с кодом? Выигрыш тут в том, что видя названия аргументов (а в идеале, в TS/Flow, еще и их типы), мы сразу можем понять что в функцию нужно пихать. А не какой-нибудь мифический args-объект в котором непонятно что должно содержаться (и не дай бог этот args будет по цепочке передаваться туда-сюда в разные функции, тогда вообще ничего нельзя будет разобрать).
0
Многие пункты более подробно рассматриваются в книге "Чистый код" Роберта Мартина. Но в статье интересно применение к es6. В целом полезно повторить.
+1
Как по-мне, самый важный совет — использовать TypeScript вместо чистого JS. TypeScript — это именно то каким должен быть JS. Почти все проблемы описанные тут решаются строгой типизацией.
0
НЛО прилетело и опубликовало эту надпись здесь
Whenever i write my code, i goes well in the beginning but afterwards becomes a big mess.
0
П.3 не актуален при написании через TypeScript. После того как его попробовал — любой JS только через TS.
К п. 12 добавил бы рекомендацию к любому console.log добавлять текстовый десрипшн console.log('this.data', this.data); Тогда не будет проблем с поиском именно этого раздражающего лога, который выводит непонятно что:)
К п. 12 добавил бы рекомендацию к любому console.log добавлять текстовый десрипшн console.log('this.data', this.data); Тогда не будет проблем с поиском именно этого раздражающего лога, который выводит непонятно что:)
+1
НЛО прилетело и опубликовало эту надпись здесь
Поддержу. Не являюсь фаном Typescript. Но после того, как начал его использовать, действительно читабельность и понимание кода значительно возросла.
0
попробуйте console.log({this.data})
0
Насчёт 3 пункта:
function displayUser(user: IUser) {…
or
function displayUser({ firstName, lastName, age }: IUser) {…
function displayUser(user: IUser) {…
or
function displayUser({ firstName, lastName, age }: IUser) {…
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Пишем чистый и масштабируемый JavaScript-код: 12 советов