Skip to content

Commit b5fa3a8

Browse files
committed
fix some orthography errors
1 parent 8f3acb0 commit b5fa3a8

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ you shout when reading code](https://www.osnews.com/images/comics/wtfm.jpg)
4242

4343
И еще одна вещь: знание этих принципов не делает вас сразу лучшим разработчиком ПО, а их использование в
4444
течение многих лет не гарантирует, что вы не будете совершать ошибки. Каждый кусок кода начинается как
45-
черновик, как мокрый кусок глины который только постеменно приобретает свою форму. Не упрекайте себя при
45+
черновик, как мокрый кусок глины который только постепенно приобретает свою форму. Не упрекайте себя при
4646
первых набросках кода, которые нуждаются в улучшении. Улучшайте код вместо этого!
4747

4848
**[⬆ Вернуться в начало](#содержание)**
@@ -118,8 +118,8 @@ function getUser(): User;
118118

119119
### Используйте имена, доступные для поиска
120120

121-
Мы читаем больще кода, чем пишем. Это важно чтобы код, который мы пишем, был читаемым и достумным для поиска.
122-
Не называйте переменные, которые в конечном итое имеют смысл только для наших программ мы вредим нашим читателям.
121+
Мы читаем больше кода, чем пишем. Это важно чтобы код, который мы пишем, был читаемым и доступным для поиска.
122+
Не называйте переменные, которые в конечном итоге имеют смысл только для наших программ мы вредим нашим читателям.
123123
Делайте ваши имена доступными для поиска.
124124
Такие инструменты, как [TSLint](https://palantir.github.io/tslint/rules/no-magic-numbers/) и [ESLint](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-magic-numbers.md)
125125
могут помочь идентифицировать не названные константы.
@@ -191,7 +191,7 @@ const transaction = charge(user, subscription);
191191

192192
### Не добавляйте не нужный контекст
193193

194-
Если имя вашего класса/типа/объекта говорит само за себя, не повторяйте его в вашем именни переменной.
194+
Если имя вашего класса/типа/объекта говорит само за себя, не повторяйте его в вашем имени переменной.
195195

196196
**Плохо:**
197197

@@ -303,12 +303,12 @@ class Projector {
303303

304304
### Аргументы функции (идеально два или меньше)
305305

306-
Ограничение колличества парамметров функции невероятно важно, потому что это делает тестирование ваших
306+
Ограничение количества параметров функции невероятно важно, потому что это делает тестирование ваших
307307
функций проще. Наличие более 3-х аргументов приводит к комбинаторному взрыву, где вы должны протестировать
308308
множество вариантов с каждым отдельным аргументом
309309

310310
Один или два аргумента это идеальный случай, а три и более следует избегать, если это возможно.
311-
Большое колличество аргументов лучше объеденять. Обычно если вы используете более двух аргументов, то ваша функция пытается
311+
Большое количество аргументов лучше объеденять. Обычно если вы используете более двух аргументов, то ваша функция пытается
312312
делать слишком много. В случаях когда это не так, то лучше использовать объект верхнего уровня.
313313

314314
Подумайте о том чтобы использовать объектные литералы, если вам необходимо много аргументов.
@@ -375,7 +375,7 @@ createMenu({
375375
Это одно из самых важных правил в разработке ПО. Когда функции решают больше одной задачи,
376376
их труднее объеденять, тестировать. Если вы сможете изолировать функцию так чтобы она выполняла только одну задачу,
377377
в дальнейшем она может быть легко переработана, а ваш код будет чище. Если вы запомните только это правило из этого
378-
руководства, то вы уже будете лучще многих разработчиков.
378+
руководства, то вы уже будете лучше многих разработчиков.
379379

380380
**Плохо:**
381381

@@ -555,7 +555,7 @@ function showManagerList(managers: Manager[]) {
555555
}
556556
```
557557

558-
**Хорощо:**
558+
**Хорошо:**
559559

560560
```ts
561561
class Developer {
@@ -595,7 +595,7 @@ function showEmployeeList(employee: Developer | Manager) {
595595

596596
Вы должны критически относиться к дублированию кода. Иногда существует компромисс между дублированием кода и увеличением
597597
сложности, вводя новую абстракцию. Когда две реализации из двух разных модулей выглядят одинаково, но существуют в разных
598-
доменах, дублирование может быть приемлемым и предпочтительным вариантом, нежели объеденений в общий код. Перенос логики
598+
доменах, дублирование может быть приемлемым и предпочтительным вариантом, нежели объединений в общий код. Перенос логики
599599
в общий код, вводит косвенную зависимость между двумя модулями.
600600

601601
**[⬆ back to top](#содержание)**
@@ -737,16 +737,16 @@ console.log(name);
737737

738738
В JavaScript примитивы передаются по значению, а объекты и массивы передаются по ссылке. В случае объектов или массивов,
739739
если ваша функция вносит изменения в корзину покупок(массив), например при добавлении элемента в массив, то любая другая
740-
функция использующаяя `корзину` массив будет зависеть от этого добавления. Это может быть как хорошо, так и плохо. Давайте
740+
функция использующая `корзину` массив будет зависеть от этого добавления. Это может быть как хорошо, так и плохо. Давайте
741741
представим плохую ситуации:
742742

743-
Пользователь нажимает кнопку "Купить" вызывующюю функцию `purchase` которая делает сетевой запрос и отправляет `корзину`
743+
Пользователь нажимает кнопку "Купить" вызывающую функцию `purchase` которая делает сетевой запрос и отправляет `корзину`
744744
массив на сервер. Если происходит плохое подключение к сети функция должна отправить повторный запрос. Теперь, если пользователь
745745
случайно нажимает на кнопку "Добавить в корзину", но пока не хочет покупать товар? Если это произойдет и в этот момент начнется
746746
запрос на сервер, то функция purchase отправит случайно добавленный элемент, так как он имеет ссылку на корзину покупок,
747747
котора была изменена функцией `addItemToCart`. Путем добавления нежелательного элемента.
748748

749-
Хорошим бы рещением было бы что бы функция `addItemToCart` всегда клонировала бы массив `cart` редактировала его и
749+
Хорошим бы решением было бы что бы функция `addItemToCart` всегда клонировала бы массив `cart` редактировала его и
750750
возвращала клон. Это бы гарантировало, что никакие другие функции, использующие ссылку на массив корзины покупок,
751751
не будут затронуты какими-либо изменениями.
752752

@@ -928,7 +928,7 @@ if (!isEmailUsed(node)) {
928928

929929
Эта задача кажется невозможной. Большинство людей, впервые услышав это, говорят, "как я должен делать что-либо без
930930
выражения `if`?". Ответ заключается в том, что во многих случаях для достижения тех же целей можно использовать
931-
полиморфизм. Второй вопро обычно, "хорошо, замечательно, но почему я должен их избегать?" Ответ, предыдущая концепция
931+
полиморфизм. Второй вопрос обычно, "хорошо, замечательно, но почему я должен их избегать?" Ответ, предыдущая концепция
932932
чистого кода, которую вы узнали: функция должна выполнять только одну задачу. Когда у вас есть классы и функции,
933933
содержащие конструкцию `if`, вы говорите своему пользователю, что ваша функция выполняет больше одной задачи.
934934
Запомните, делать только одну задачу.
@@ -1563,7 +1563,7 @@ class UserNotifier {
15631563

15641564
### Предпочитайте композицию наследованию
15651565

1566-
Как сказано в [Design Patterns](https://en.wikipedia.org/wiki/Design_Patterns) от банды черытех вы должны
1566+
Как сказано в [Design Patterns](https://en.wikipedia.org/wiki/Design_Patterns) от банды четырех вы должны
15671567
*Предпочитать композицию наследованию* где можете. Есть много веских причин использовать наследование и много хороших
15681568
причин использовать композицию. Суть этого принципа в том, что если ваш ум инстинктивно идет на наследование,
15691569
попробуйте подумать, может ли композиция лучше смоделировать вашу проблему. В некоторых случаях может.
@@ -2561,7 +2561,7 @@ try {
25612561

25622562
Форматирование носит субъективный характер. Как и во многом собранном здесь, в вопросе форматирования нет жестких правил, которым вы обязаны следовать. Главное - *НЕ СПОРИТЬ* по поводу форматирования. Есть множество инструментов для автоматизации этого. Используйте один! Это трата времени и денег когда инженеры спорят о форматировании. Общее правило, которому стоит следовать *соблюдайте правила форматирования принятые в команде*
25632563

2564-
Для TypeScript есть мощный инструмент под названием [TSLint](https://palantir.github.io/tslint/). Это статический анализ инструмент, который может помочь вам значительно улучшить читаемость и поддерживаемость вашего кода. Но лучще используйте [ESLint](https://github.com/typescript-eslint/typescript-eslint), так как TSLint больше не поддерживается.
2564+
Для TypeScript есть мощный инструмент под названием [TSLint](https://palantir.github.io/tslint/). Это статический анализ инструмент, который может помочь вам значительно улучшить читаемость и поддерживаемость вашего кода. Но лучше используйте [ESLint](https://github.com/typescript-eslint/typescript-eslint), так как TSLint больше не поддерживается.
25652565
Есть готовые к использованию конфигурации TSLint и ESLint, на которые вы можете ссылаться в своих проектах:
25662566

25672567
- [TSLint Config Standard](https://www.npmjs.com/package/tslint-config-standard) - стандартный набор правил
@@ -2845,7 +2845,7 @@ type User = {
28452845
28462846
### Не заводите журнальных комментариев
28472847
2848-
Не забывайте использовать системы контроля версий! Нет необходимости в мертвом коде, закоментированном коде и особенно в
2848+
Не забывайте использовать системы контроля версий! Нет необходимости в мертвом коде, закомментированом коде и особенно в
28492849
журнальных комментариях. Используйте `git log`, чтобы получить историю!
28502850
28512851
**Плохо:**

0 commit comments

Comments
 (0)