и посмотреть медиа
S0ER - arquitectura y codificación
и посмотреть медиа
Materiales sobre arquitectura de software, programación y crecimiento profesional en TI.
Materiales sobre arquitectura de software, programación y crecimiento profesional en TI.
S0ER se centra en la arquitectura de software, programación y desarrollo profesional. El canal ofrece análisis en profundidad, ejemplos de código y estrategias para el avance en el campo de la TI.
Всегда ли короткие имена переменных - зло? Никто не будет спорить с тем, что имена переменных в коде должны быть понятными и выразительными. Но с тем, что выразительное имя - это всегда полное длинное описание из которого можно сделать вывод для чего существует та или иная переменная - это тема для спора. Я люблю короткие имена переменных, люблю аббревиатуры, часто их использую и мне не нравится писать длинные имена по типу "encodedDataBasePasswordStr", даже с автокомплитом. Поэтому давайте сформулирую свои правила в отношении коротких имен переменных. 👑 Когда короткие имена приемлемы ✅В небольших методах с очевидным контекстом ✅В математических вычислениях, где традиционно используются короткие обозначения ✅Для итераторов в небольших циклах ✅В лямбда-функциях, где контекст ясен Пример оправданного короткого имени. function calculateDistance(x1: number, y1: number, x2: number, y2: number): number { const dx = x2 - x1; const dy = y2 - y1; return Math.sqrt(dx * dx + dy * dy); } В этом случае: x1, y1, x2, y2 - стандартные математические обозначения координат dx, dy - общепринятые сокращения для "delta x" и "delta y" А типы параметров (number) делают назначение переменных ещё понятнее 👑 Когда короткие имена недопустимы Однако есть ситуации, когда короткие имена действительно становятся проблемой: ✅ В больших методах, где контекст теряется ✅ Для переменных с широкой областью видимости ✅Когда назначение переменной неочевидно ✅Для булевых флагов, где важно понимать критерий Пример плохого использования: function processUserData(u: User, d: DataProcessor, c: Config) { // ... 50 строк кода ... if (u.s) { // Что такое 's'? Статус? Субscription? Счёт? d.p(u); // Что делает 'p'? process? print? persist? } } При этом вместо 'u' вполне можно было использовать сокращения usr, а вместо 'c' использовать cfg, это устоявшиеся сокращения, поэтому использовать их можно. Когда есть возможность аннатировать переменную ее типом, с учетом небольшого размера функции, нормальным становится и вариант с u: interface User { id: string; name: string; age: number; } // Хорошо - тип ясен из контекста function greet(u: User) { console.log(`Hello, ${u.name}!`); } Для итераторов в небольших циклах короткие имена допустимы: const numbers = [1, 2, 3]; // i - общепринятое имя для индекса for (let i = 0; i < numbers.length; i++) { console.log(numbers[i]); } В функциональном программировании для простых операций: const users = [{name: 'Alice'}, {name: 'Bob'}]; // n - понятно в контексте map const names = users.map(u => u.name); 👑 Надеюсь, приведенные пример убедили вас, что в зависимости от ситуации короткие имена переменных не только допустимы, но и помогают писать выразительный код.
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!