|
154 | 154 | - Никога не смесвайте спейсове и табове.
|
155 | 155 | - Когато започнете един проект, преди да почнете да пишете какъвто и да е код, изберете между меки отсъпи (интервали) или реални табулации, считайте го за **закон**
|
156 | 156 | - За четимост, винаги препоръчвам да зададете размера на отстъпа на вашия редактор на два знака — което означава два интервала или два интервала, представляващи истинска табулация.
|
157 |
| - - If your editor supports it, always work with the "show invisibles" setting turned on. The benefits of this practice are: |
158 |
| - - Enforced consistency |
159 |
| - - Eliminating end of line whitespace |
160 |
| - - Eliminating blank line whitespace |
161 |
| - - Commits and diffs that are easier to read |
162 |
| - - Use [Editorconfig](http://editorconfig.org/) when possible. It supports most IDEs and handles most whitespace settings. |
| 157 | + - Винаги работете с включена настройка "покажи скрити", ако редактора ви я поддържа. Предимствата на тази практика са: |
| 158 | + - Усилена консистенция |
| 159 | + - Премахване на интервал в края на реда |
| 160 | + - Премахване на празни редове |
| 161 | + - Комитите и разликите в кода само по-лесни за четене |
| 162 | + - Използвайте [Editorconfig](http://editorconfig.org/) когато е възможно. Поддържа повечето IDEs и обработва повечето настройки за празно пространство. |
163 | 163 |
|
164 |
| - |
165 |
| -2. <a name="spacing">Beautiful Syntax</a> |
| 164 | +2. <a name="spacing">Красив синтаксис</a> |
166 | 165 |
|
167 | 166 | A. Parens, Braces, Linebreaks
|
| 167 | + А. Скоби, Фигурни Скоби, Пренасяне на редовете |
168 | 168 |
|
169 | 169 | ```javascript
|
170 | 170 |
|
171 | 171 | // if/else/for/while/try always have spaces, braces and span multiple lines
|
172 |
| - // this encourages readability |
| 172 | + // if/else/for/while/try винаги имат интервали между тях, къдравите скоби и разделението между секциите са на множество редове |
| 173 | + // това подобрява четимостта |
173 | 174 |
|
174 | 175 | // 2.A.1.1
|
175 |
| - // Examples of really cramped syntax |
| 176 | + // Примери за наистина нечетлив синтаксис |
176 | 177 |
|
177 | 178 | if(condition) doSomething();
|
178 | 179 |
|
|
182 | 183 |
|
183 | 184 |
|
184 | 185 | // 2.A.1.1
|
185 |
| - // Use whitespace to promote readability |
| 186 | + // Използвайте интервали за да повишите четимостта |
186 | 187 |
|
187 | 188 | if ( condition ) {
|
188 |
| - // statements |
| 189 | + // изрази |
189 | 190 | }
|
190 | 191 |
|
191 | 192 | while ( condition ) {
|
192 |
| - // statements |
| 193 | + // изрази |
193 | 194 | }
|
194 | 195 |
|
195 | 196 | for ( var i = 0; i < 100; i++ ) {
|
196 |
| - // statements |
| 197 | + // изрази |
197 | 198 | }
|
198 | 199 |
|
199 |
| - // Even better: |
| 200 | + // Още по-добре: |
200 | 201 |
|
201 | 202 | var i,
|
202 | 203 | length = 100;
|
203 | 204 |
|
204 | 205 | for ( i = 0; i < length; i++ ) {
|
205 |
| - // statements |
| 206 | + // изрази |
206 | 207 | }
|
207 | 208 |
|
208 |
| - // Or... |
| 209 | + // Или... |
209 | 210 |
|
210 | 211 | var i = 0,
|
211 | 212 | length = 100;
|
212 | 213 |
|
213 | 214 | for ( ; i < length; i++ ) {
|
214 |
| - // statements |
| 215 | + // изрази |
215 | 216 | }
|
216 | 217 |
|
217 | 218 | var prop;
|
218 | 219 |
|
219 | 220 | for ( prop in object ) {
|
220 |
| - // statements |
| 221 | + // изрази |
221 | 222 | }
|
222 | 223 |
|
223 | 224 |
|
224 | 225 | if ( true ) {
|
225 |
| - // statements |
| 226 | + // изрази |
226 | 227 | } else {
|
227 |
| - // statements |
| 228 | + // изрази |
228 | 229 | }
|
229 | 230 | ```
|
230 | 231 |
|
231 | 232 |
|
232 | 233 | B. Assignments, Declarations, Functions ( Named, Expression, Constructor )
|
233 |
| - |
| 234 | + B. Прислояване, Декларации, Функции ( Именувани, Изрази, Конструктори) |
234 | 235 | ```javascript
|
235 | 236 |
|
236 | 237 | // 2.B.1.1
|
237 |
| - // Variables |
| 238 | + // Променливи |
238 | 239 | var foo = "bar",
|
239 | 240 | num = 1,
|
240 | 241 | undef;
|
241 | 242 |
|
242 |
| - // Literal notations: |
| 243 | + // Литерална нотация: |
243 | 244 | var array = [],
|
244 | 245 | object = {};
|
245 | 246 |
|
246 | 247 |
|
247 | 248 | // 2.B.1.2
|
248 |
| - // Using only one `var` per scope (function) or one `var` for each variable, |
249 |
| - // promotes readability and keeps your declaration list free of clutter. |
250 |
| - // Using one `var` per variable you can take more control of your versions |
251 |
| - // and makes it easier to reorder the lines. |
252 |
| - // One `var` per scope makes it easier to detect undeclared variables |
253 |
| - // that may become implied globals. |
254 |
| - // Choose better for your project and never mix them. |
255 |
| -
|
256 |
| - // Bad |
| 249 | + // Използването на само един `var` на всеки обхват (функция) или по един `var` на всяка променлива, |
| 250 | + // повишава четимостта и пази вашия списък на декларации от безредие. |
| 251 | + // Използването по един `var` на всяка променлива можете да котролирате по-добре версиите |
| 252 | + // и освен това улеснява разместването на редовете. |
| 253 | + // Един `var` на всеки обхват улеснява намирането на недекларирани променливи, |
| 254 | + // които могат да станат подразбиращи се глобални. |
| 255 | + // Изберете по-добри подход за вашия проект и никога не го смесвайте |
| 256 | +
|
| 257 | + // Лош пример |
257 | 258 | var foo = "",
|
258 | 259 | bar = "";
|
259 | 260 | var qux;
|
260 | 261 |
|
261 |
| - // Good |
| 262 | + // Добър пример |
262 | 263 | var foo = "";
|
263 | 264 | var bar = "";
|
264 | 265 | var qux;
|
265 | 266 |
|
266 |
| - // or.. |
| 267 | + // или.. |
267 | 268 | var foo = "",
|
268 | 269 | bar = "",
|
269 | 270 | qux;
|
270 | 271 |
|
271 |
| - // or.. |
272 |
| - var // Comment on these |
| 272 | + // или.. |
| 273 | + var // Коментар на тези |
273 | 274 | foo = "",
|
274 | 275 | bar = "",
|
275 | 276 | quux;
|
276 | 277 |
|
277 | 278 | // 2.B.1.3
|
278 |
| - // var statements should always be in the beginning of their respective scope (function). |
| 279 | + // Операторите 'var' винаги трябва да са в началото на техния съответен обxват (функция). |
279 | 280 |
|
280 |
| -
|
281 |
| - // Bad |
| 281 | + // Лош пример |
282 | 282 | function foo() {
|
283 | 283 |
|
284 |
| - // some statements here |
| 284 | + // някакви изрази |
285 | 285 |
|
286 | 286 | var bar = "",
|
287 | 287 | qux;
|
288 | 288 | }
|
289 | 289 |
|
290 |
| - // Good |
| 290 | + // Добър пример |
291 | 291 | function foo() {
|
292 | 292 | var bar = "",
|
293 | 293 | qux;
|
294 | 294 |
|
295 |
| - // all statements after the variables declarations. |
| 295 | + // всички изрази след декларацията на променливите |
296 | 296 | }
|
297 | 297 |
|
298 | 298 | // 2.B.1.4
|
299 |
| - // const and let, from ECMAScript 6, should likewise be at the top of their scope (block). |
| 299 | + // 'const' и `let`, от ECMAScript 6, също трябва да са в горната част на тегния обхват (блоков). |
300 | 300 |
|
301 |
| - // Bad |
| 301 | + // Лош пример |
302 | 302 | function foo() {
|
303 | 303 | let foo,
|
304 | 304 | bar;
|
305 | 305 | if ( condition ) {
|
306 | 306 | bar = "";
|
307 |
| - // statements |
| 307 | + // изрази |
308 | 308 | }
|
309 | 309 | }
|
310 |
| - // Good |
| 310 | + // Добър пример |
311 | 311 | function foo() {
|
312 | 312 | let foo;
|
313 | 313 | if ( condition ) {
|
314 | 314 | let bar = "";
|
315 |
| - // statements |
| 315 | + // изрази |
316 | 316 | }
|
317 | 317 | }
|
318 | 318 | ```
|
|
0 commit comments