Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2013, 16:17
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

О синтаксисе, "грамматике" и этике "правописания" кода на JS.
В целом тема для конкретных замечаний о том как КОРРЕКТНО писать на JS, а не о том как можно или дозволено... В общем немного расплывчато, но для затравки начну:
1) После описания функций за закрывающей фигурной скобкой позволено не ставить точку с запятой. НЕ знаю как там в спецификации, но я всегда ставлю! Просто по привычке - чтобы было очевидно где конец конструкции, да и просто из-за того, что "не проставление точки с запятой после описания функции" требует лишней мозговой деятельности - "ага, это функция - тут можно и не ставить"...

2) никогда не использую тернарый оператор. быстрее - спору нет! Но "читабельность"...

Кто что добавит (или поправит)? Может у кого ссылки есть (на вменяемые источники)?
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2013, 17:05
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

1) После закрывающей фигурной скобки точка с запятой ставится только в одном случае - если это литерал объекта. В остальных случаях точка с запятой не ставится. Не ставится после функции, не ставится после составного оператора. Часто эта неуместная точка с запятой прощается, но не всегда, напр.
if( условие )
{
  // операторы
} // если после этой скобки поставить точку с запятой - ошибка!
else
{
  // операторы
}

2) никогда не использую потому что для меня это сложно - аргумент против чего угодно - рекурсии, замыканий, цикла do...while, ...
Конструкция
a[x*5+y].b = flag ? 1 : 2;
гораздо легче читается чем
if( flag ) a[x*5+y].b = 1; else a[x*5+y].b = 2;


Лично я никогда не напишу конструкцию типа
return (x > 100) ? true : false;
или
return (numberToCheck > lowerBound) ? true : false;
подражая некоторым "профессионалам":
http://msdn.microsoft.com/ru-ru/magazine/cc163419.aspx

Последний раз редактировалось rgl, 11.02.2013 в 17:11.
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2013, 17:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от rgl
return (x > 100) ? true : false;
Ну и тупость. (x > 100) и так вернет true/false

Можно почитать coding standarts, например, Google.
Ответить с цитированием
  #4 (permalink)  
Старый 12.02.2013, 08:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Nanto
Кто что добавит (или поправит)?
Пока работаешь сам - волен писать как угодно. Все проблемы только твои.

Но нормальная контора сама предъявит к тебе требования по написанию текста программ. И тут уже пофиг будет на твоё мнение и привычки.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу приличный редактор кода под JS Universe Общие вопросы Javascript 28 30.10.2012 18:30
Как реализовать отключения JS кода через админку ? lamer Серверные языки и технологии 4 08.02.2012 17:23
Добавление кода js в js файл BEUJ Общие вопросы Javascript 13 12.01.2012 21:35
Рациональность JS кода. Илюшенций Общие вопросы Javascript 3 25.08.2010 13:02
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33