|
1 | 1 | Тут – разные мелочи, на которых обычно спотыкаются новички в Питоне. Шагай свободно. |
2 | 2 |
|
3 | 3 |
|
4 | | -###Итерируй сразу по коллекции, а не по индексам |
| 4 | +### Итерируй сразу по коллекции, а не по индексам |
5 | 5 |
|
6 | 6 | Раньше в C++ итерация по коллекции проходила так: |
7 | 7 |
|
|
34 | 34 | Делай правильно и не делай неправильно. |
35 | 35 |
|
36 | 36 |
|
37 | | -###Используй None |
| 37 | +### Используй None |
| 38 | + |
38 | 39 | Часто нужно предусмотреть какой-нибудь хреновый случай – нет файла с данными, не работает интернет, |
39 | 40 | не хватает места на диске, пользователь ввёл неверные данные. |
40 | 41 |
|
|
54 | 55 | Не `if latitude == None` и не `if latitude`. Это важно. |
55 | 56 |
|
56 | 57 |
|
57 | | -###Меньше вложенности |
| 58 | +### Меньше вложенности |
| 59 | + |
58 | 60 | Загрузим json из файла: |
59 | 61 |
|
60 | 62 | def load_json_data(filepath): |
|
93 | 95 |
|
94 | 96 | Теперь стало проще: меньше вложенности, просто читать. Меньше багов. |
95 | 97 |
|
96 | | -###Используй превращение типов в bool |
| 98 | +### Используй превращение типов в bool |
| 99 | + |
97 | 100 | Часто в коде приходится проверять переменные на нулевые значения. |
98 | 101 | Например, пустой список: |
99 | 102 |
|
|
128 | 131 | Это облегчает код и не вредит читаемости. |
129 | 132 |
|
130 | 133 |
|
131 | | -###Знай стандартную библиотеку |
| 134 | +### Знай стандартную библиотеку |
| 135 | + |
132 | 136 | Стандартная библиотека Питона огромная, в ней куча всего полезного. |
133 | 137 | Стоит глянуть [на содержание](https://docs.python.org/3/library/), чтобы оценить масштаб. |
134 | 138 |
|
|
142 | 146 | и знать, где смотреть, если они понадобятся. |
143 | 147 |
|
144 | 148 |
|
145 | | -###Понятные названия у всего |
| 149 | +### Понятные названия у всего |
| 150 | + |
146 | 151 | Названия должны однозначно говорить о том, зачем нужна сущность: переменная, функция или что-то ещё. |
147 | 152 |
|
148 | 153 | Переменные – это сущности, а их названия – это существительные (`user.level`) или их свойства (`user.is_admin`). |
|
160 | 165 | создаёт ощущение неряшливости, а может и смыслу навредить – тогда о читаемости не может быть и речи. |
161 | 166 |
|
162 | 167 |
|
163 | | -###Больше функций |
| 168 | +### Больше функций |
| 169 | + |
164 | 170 | Функции нужны, чтобы сделать код понятным и реиспользуемым. |
165 | 171 |
|
166 | 172 | Понятным – это когда с первого взгляда понятно, что он делает: |
|
189 | 195 | из скрипта. `send_notifications_to_slack` ничего не знает о том, что `messages` к ней приехали от Фейсбука, для |
190 | 196 | неё это просто сообщения, которые надо отправить пользователю `user`. |
191 | 197 |
|
192 | | -###Думай о пользователе |
| 198 | +### Думай о пользователе |
| 199 | + |
193 | 200 | Код нужен для того, чтобы им пользовались. Его цель – сделать пользователю удобно. |
194 | 201 |
|
195 | 202 | То, что задачи учебные и едва ли кто-то будет всерьёз ими пользоваться – не важно. Любой код должен быть удобен |
|
0 commit comments