Skip to content

Commit ddb2c34

Browse files
committed
WIP
1 parent 26f08c8 commit ddb2c34

File tree

5 files changed

+12
-31
lines changed

5 files changed

+12
-31
lines changed

content/002-communication.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
Такое письмо вызывает уже не раздражение, а недоумение.
4747

4848
Теперь представьте: это не кандидат, а **ваш код**.
49-
Что будет когда два таких специалиста объединятся в одну команду?
50-
Скорее всего, что-то такого в итоге будет в кодовой базе:
49+
Что будет когда два таких специалиста объединятся в одну команду?
50+
Скорее всего, в кодовой базе появится нечто подобное:
5151

5252
> Здраствуйте господин!
5353
> Сим доношу, что Я ПРОГРАМИСТ с БОЛЬЩИМ апытом делал сайты и приложения для сети.

content/006-naming.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ class ExcludeItemStorage
251251

252252
А ведь имя класса — это первый и, зачастую, единственный источник информации о его ответственности.
253253

254-
. Эти имена — дымовая завеса. Они скрывают детали, замыливают смысл, делают код нечитаемым, а архитектуру — расплывчатой. Они подменяют суть интерфейсом, упрощая названия до абсурда. Да, это удобно. Да, так делают все. Но именно поэтому ваш проект через год превращается в груду мусора.
254+
Эти имена — дымовая завеса. Они скрывают детали, замыливают смысл, делают код нечитаемым, а архитектуру — расплывчатой. Они подменяют суть интерфейсом, упрощая названия до абсурда. Да, это удобно. Да, так делают все. Но именно поэтому ваш проект через год превращается в груду мусора.
255255

256256
```php
257257
// Плохо ❌
@@ -271,9 +271,10 @@ class StringTruncatedToLength { /* … */ }
271271

272272
### Имена тоже должны рифмоваться
273273

274-
> TODO: Часть симметрия
274+
Методы в паре работают лучше, если звучат как единое целое.
275+
Они как диалог: начало должно перекликаться с концом.
275276

276-
Вот пример:
277+
Вот пример несогласованного именования:
277278

278279
```php
279280
// Плохо ❌

content/009-conditions.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,6 @@ return $default;
138138
```
139139

140140

141-
> TODO: сделать и рассказать про if($name = $this->getName()) { ... } и про то, что это не хорошо
142-
143-
144141
### Присваивания в условиях
145142

146143
Иногда хочется быть "умным". Сделать красиво, коротко, выразительно. Одной строкой. Как в старых учебниках:

content/009-early-exit.md

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -131,38 +131,21 @@ foreach ($orders as $order) {
131131
public function hasAccess(User $user): bool {
132132
if (!$user->isBanned()) {
133133
if ($user->isAdmin()) {
134-
/*
135-
* Доступ разрешён:
136-
* пользователь не заблокирован и является администратором.
137-
*/
134+
// Доступ разрешён: админ.
138135
return true;
139136
} else {
140-
if($user->isGranted(GRANT::EDIT)) {
141-
/*
142-
* Доступ разрешён:
143-
* пользователь не заблокирован и имеет право на редактирование.
144-
*/
137+
if ($user->isGranted(GRANT::EDIT)) {
138+
// Доступ разрешён: может редактировать.
145139
return true;
146140
} else {
147-
/*
148-
* Доступ запрещён:
149-
* пользователь не заблокирован, но не является
150-
* администратором и не имеет прав на редактирование.
151-
*/
141+
// Доступ запрещён: нет нужных прав.
152142
return false;
153143
}
154144

155-
/*
156-
* Недостижимый код:
157-
* предыдущий return уже завершает выполнение.
158-
*/
159145
return false;
160146
}
161147
} else {
162-
/*
163-
* Доступ запрещён:
164-
* пользователь заблокирован.
165-
*/
148+
// Доступ запрещён: пользователь заблокирован.
166149
return false;
167150
}
168151
}

content/017-copilot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ function store()
5454

5555
На сайтах вроде Stack Overflow вопросы задают и решают вручную, люди. Нередко там встречаются ответы, помеченные как "
5656
решение", но при этом заминусованные — в комментариях поясняют: да, работает, но приведёт к плачевным последствиям в
57-
долгосрочной перспективе. "Второй пилот" — помощник kkдругого типа. Он не будет указывать на архитектурные проблемы или спорные решения, пока вы
57+
долгосрочной перспективе. "Второй пилот" — помощник другого типа. Он не будет указывать на архитектурные проблемы или спорные решения, пока вы
5858
сами его об этом не попросите. Его задача — помогать вам как можно быстрее двигаться к результату, решать
5959
бизнес-проблемы здесь и сейчас. Но и большинство разработчиков настроены точно так же: задача должна быть закрыта, сроки — вчера, и мало кто будет
6060
тратить время, чтобы просить помощника подумать над более выразительными именами переменных, архитектурой или стилем.

0 commit comments

Comments
 (0)