Fix lint for russian

This commit is contained in:
Wahyu Kristianto
2022-10-27 21:11:29 +07:00
parent 359e3f716c
commit 75909bbfe7

View File

@ -34,7 +34,7 @@
<br/><br/> <br/><br/>
# Добро пожаловать! 3 вещи, которые вы должны знать в первую очередь: # Добро пожаловать! 3 вещи, которые вы должны знать в первую очередь
**1. На самом деле вы читаете десятки лучших статей Node.js -** этот репозиторий представляет собой краткий обзор и список наиболее популярных материалов по рекомендациям Node.js, а также материалов, написанных здесь соавторами. **1. На самом деле вы читаете десятки лучших статей Node.js -** этот репозиторий представляет собой краткий обзор и список наиболее популярных материалов по рекомендациям Node.js, а также материалов, написанных здесь соавторами.
@ -46,13 +46,13 @@
## Оглавление ## Оглавление
1. [Практики структуры проекта (5)](#1-Практики-структуры-проекта) 1. [Практики структуры проекта (5)](#1-Практики-структуры-проекта)
2. [Практики обработки ошибок (11)](#2-Практики-обработки-ошибок) 2. [Практики обработки ошибок (11)](#2-Практики-обработки-ошибок)
3. [Практики стиля кода (12)](#3-Практики-стиля-кода) 3. [Практики стиля кода (12)](#3-Практики-стиля-кода)
4. [Тестирование и общие методы контроля качества (12)](#4-Тестирование-и-общие-методы-контроля-качества) 4. [Тестирование и общие методы контроля качества (12)](#4-Тестирование-и-общие-методы-контроля-качества)
5. [Переход к производственным практикам (18)](#5-Переход-к-производственным-практикам) 5. [Переход к производственным практикам (18)](#5-Переход-к-производственным-практикам)
6. [Практики безопасности (25)](#6-Практики-безопасности) 6. [Практики безопасности (25)](#6-Практики-безопасности)
7. [Практики эффективности (2) (Работа в процессе️ ✍️)](#7-черновик-практики-эффективности) 7. [Практики эффективности (2) (Работа в процессе️ ✍️)](#7-черновик-практики-эффективности)
<br/><br/> <br/><br/>
@ -259,7 +259,7 @@
<br/><br/> <br/><br/>
##! [✔] 3.3 Начинайте кодовый блок фигурными скобками на той же линии. ## ! [✔] 3.3 Начинайте кодовый блок фигурными скобками на той же линии
**TL;DR:** Открывающие фигурные скобки блока кода должны находиться на той же строке, что и оператор открытия. **TL;DR:** Открывающие фигурные скобки блока кода должны находиться на той же строке, что и оператор открытия.
@ -272,7 +272,7 @@ function someFunction() {
} }
// Избегайте // Избегайте
function someFunction() function someFunction()
{ {
// code block // code block
} }
@ -284,7 +284,7 @@ function someFunction()
<br/><br/> <br/><br/>
##! [✔] 3.4 Разделяйте свои выражения правильно ## ! [✔] 3.4 Разделяйте свои выражения правильно
Независимо от того, используете ли вы точки с запятой или нет для разделения своих операторов, знание общих ошибок неправильных разрывов строк или автоматической вставки точек с запятой поможет вам устранить обычные синтаксические ошибки. Независимо от того, используете ли вы точки с запятой или нет для разделения своих операторов, знание общих ошибок неправильных разрывов строк или автоматической вставки точек с запятой поможет вам устранить обычные синтаксические ошибки.
@ -292,7 +292,7 @@ function someFunction()
**Иначе:** Как видно из предыдущего раздела, интерпретатор JavaScript автоматически добавляет точку с запятой в конце оператора, если его нет, или считает, что оператор не завершен, где он должен, что может привести к нежелательным результатам. , Вы можете использовать присваивания и избегать немедленного вызова выражений функций для предотвращения большинства непредвиденных ошибок. **Иначе:** Как видно из предыдущего раздела, интерпретатор JavaScript автоматически добавляет точку с запятой в конце оператора, если его нет, или считает, что оператор не завершен, где он должен, что может привести к нежелательным результатам. , Вы можете использовать присваивания и избегать немедленного вызова выражений функций для предотвращения большинства непредвиденных ошибок.
### Пример кода ### 3.4 Пример кода
```javascript ```javascript
// Делайте так // Делайте так
@ -342,7 +342,7 @@ const count = 2 // it tries to run 2(), but 2 is not a function
**Иначе:** Javascript -- это единственный язык в мире, который позволяет напрямую вызывать конструктор ("Class") без его инициализации. Следовательно, классы и конструкторы функций должщны различаться, начинаясь с UpperCamelCase. **Иначе:** Javascript -- это единственный язык в мире, который позволяет напрямую вызывать конструктор ("Class") без его инициализации. Следовательно, классы и конструкторы функций должщны различаться, начинаясь с UpperCamelCase.
### Пример кода ### 3.6 Пример кода
```javascript ```javascript
// для класса мы используем UpperCamelCase // для класса мы используем UpperCamelCase
@ -384,7 +384,7 @@ function doSomething() {}
**Иначе:** Изменение внутренней структуры файлов или подписи может нарушить интерфейс с клиентами. **Иначе:** Изменение внутренней структуры файлов или подписи может нарушить интерфейс с клиентами.
### Пример кода ### 3.9 Пример кода
```javascript ```javascript
// Делайте так // Делайте так
@ -404,7 +404,7 @@ module.exports.SMSNumberResolver = require("./SMSNumberResolver/SMSNumberResolve
**Иначе:** Неравные переменные могут возвращать true при сравнении с оператором `==`. **Иначе:** Неравные переменные могут возвращать true при сравнении с оператором `==`.
### Пример кода ### 3.10 Пример кода
```javascript ```javascript
"" == "0"; // false "" == "0"; // false
@ -559,7 +559,7 @@ null == undefined; // true
# `5. Переход к производственным практикам` # `5. Переход к производственным практикам`
## ![✔] 5.1. Мониторинг! ## ![✔] 5.1. Мониторинг
**TL;DR:** Мониторинг -- это игра для выявления проблем до того, как их решат клиенты, очевидно, этому следует придать беспрецедентную важность. Рынок перегружен предложениями, поэтому подумайте о том, чтобы начать с определения основных метрик, которым вы должны следовать (мои предложения в подробностях), затем перейти к дополнительным необычным функциям и выбрать решение, которое помечает все поля. Нажмите "Подробнее" ниже для обзора решений. **TL;DR:** Мониторинг -- это игра для выявления проблем до того, как их решат клиенты, очевидно, этому следует придать беспрецедентную важность. Рынок перегружен предложениями, поэтому подумайте о том, чтобы начать с определения основных метрик, которым вы должны следовать (мои предложения в подробностях), затем перейти к дополнительным необычным функциям и выбрать решение, которое помечает все поля. Нажмите "Подробнее" ниже для обзора решений.
@ -793,7 +793,7 @@ null == undefined; // true
<br/><br/> <br/><br/>
##! [✔] 6.5. Сборник общих рекомендаций по безопасности ## ! [✔] 6.5. Сборник общих рекомендаций по безопасности
**TL;DR:** Это набор рекомендаций по безопасности, которые не связаны напрямую с Node.js -- реализация Node мало чем отличается от любого другого языка. Нажмите "Подробнее", чтобы просмотреть. **TL;DR:** Это набор рекомендаций по безопасности, которые не связаны напрямую с Node.js -- реализация Node мало чем отличается от любого другого языка. Нажмите "Подробнее", чтобы просмотреть.
@ -837,7 +837,7 @@ null == undefined; // true
<br/><br/> <br/><br/>
##! [✔] 6.9. Экранируйте вывод HTML, JS и CSS ## ! [✔] 6.9. Экранируйте вывод HTML, JS и CSS
<a href="https://www.owasp.org/index.php/Top_10-2017_A7-Cross-Site_Scripting_(XSS)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A7:XSS%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A7-Cross-Site_Scripting_(XSS)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A7:XSS%20-green.svg" alt=""/></a>
@ -916,7 +916,7 @@ null == undefined; // true
<a href="https://www.owasp.org/index.php/Top_10-2017_A7-Cross-Site_Scripting_(XSS)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A7:XSS%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A1-Injection" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A1:Injection%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A4-XML_External_Entities_(XXE)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A4:External%20Entities%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A7-Cross-Site_Scripting_(XSS)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A7:XSS%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A1-Injection" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A1:Injection%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A4-XML_External_Entities_(XXE)" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A4:External%20Entities%20-green.svg" alt=""/></a>
**TL;DR:** `eval` -- это зло, поскольку оно позволяет выполнять пользовательский код JavaScript во время выполнения. Это не только проблема производительности, но и важная проблема безопасности из-за вредоносного кода JavaScript, который может быть получен из пользовательского ввода. Другой языковой особенностью, которую следует избегать, является конструктор `new Function`. `setTimeout` и` setInterval` также никогда не должны передавать динамический код JavaScript. **TL;DR:** `eval` -- это зло, поскольку оно позволяет выполнять пользовательский код JavaScript во время выполнения. Это не только проблема производительности, но и важная проблема безопасности из-за вредоносного кода JavaScript, который может быть получен из пользовательского ввода. Другой языковой особенностью, которую следует избегать, является конструктор `new Function`. `setTimeout` и`setInterval` также никогда не должны передавать динамический код JavaScript.
**Иначе:** Вредоносный код JavaScript находит путь в текст, передаваемый в `eval` или другие функции оценки языка JavaScript в режиме реального времени, и получает полный доступ к разрешениям JavaScript на странице. Эта уязвимость часто проявляется как атака XSS. **Иначе:** Вредоносный код JavaScript находит путь в текст, передаваемый в `eval` или другие функции оценки языка JavaScript в режиме реального времени, и получает полный доступ к разрешениям JavaScript на странице. Эта уязвимость часто проявляется как атака XSS.
@ -1032,7 +1032,7 @@ null == undefined; // true
<a href="https://www.owasp.org/index.php/Top_10-2017_A6-Security_Misconfiguration" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A6:Security%20Misconfiguration%20-green.svg" alt=""/></a> <a href="https://www.owasp.org/index.php/Top_10-2017_A6-Security_Misconfiguration" target="_blank"><img src="https://img.shields.io/badge/%E2%9C%94%20OWASP%20Threats%20-%20A6:Security%20Misconfiguration%20-green.svg" alt=""/></a>
**TL;DR:** Следует принять меры предосторожности, чтобы избежать риска случайной публикации секретов в открытых реестрах npm. Файл `.npmignore` может использоваться для внесения в черный список определенных файлов или папок, или массив` files` в `package.json` может выступать в качестве белого списка. **TL;DR:** Следует принять меры предосторожности, чтобы избежать риска случайной публикации секретов в открытых реестрах npm. Файл `.npmignore` может использоваться для внесения в черный список определенных файлов или папок, или массив`files` в `package.json` может выступать в качестве белого списка.
**Иначе:** Ключи API вашего проекта, пароли или другие секреты открыты для злоупотребления любым, кто сталкивается с ними, что может привести к финансовым потерям, подлогу и другим рискам. **Иначе:** Ключи API вашего проекта, пароли или другие секреты открыты для злоупотребления любым, кто сталкивается с ними, что может привести к финансовым потерям, подлогу и другим рискам.