Нажми пробел чтобы продолжить
Стрелка вправо — для быстрой промотки
Читатели не понимают этого персонажа, адаптируем роман.
Издатель дал вам три дня на подготовку к запуску в тираж
Роману не достает экзотики, книга плохо продается
Издатель согласился с тем что задача сложна и объемна. Поэтому срок - конец следующей недели
И если не предпринимать усилий то все стремительно скатывается к говнокоду
let r = 6500
let data = []
let item = null
function update(){...}
let earthRadius = 6500
let usersOnline = []
let cardItem = null
function updateMarkup(){...}
Плохо:
Хорошо:
let zapros = null
let polzovatel = auth(...)
function dobavitOdin(){...}
let request = null
let user = auth(...)
function incrementByOne(){...}
Плохо:
Хорошо:
return stmp + 7200
let secsInTwoHours = 60 * 60 * 2
return timestamp + secsInTwoHours
Плохо:
Хорошо:
try {
// do some job
// ...
let cars = JSON.parse(response)
// ...
} catch (error) {
return []
}
try {
// do some job
// ...
let cars = JSON.parse(response)
// ...
} catch (error) {
if (error instanceof SyntaxError)
return []
throw err;
}
Плохо:
Хорошо:
var countCall = (function() {
var numberOfCalls = 0
return function() {
return ++numberOfCalls
}
})();
countCall()
var CountingModule = (function() {
var numberOfCalls = 0
return {
countCall: function() {
return ++numberOfCalls
},
getCount: function() {
return numberOfCalls
}
}
})();
CountingModule.countCall()
CountingModule.getCount()
Функции
Классы
Модуль model.js
Функции
Классы
Модуль api.js
Основной управляющий код - main.js
Чем определяется состояние (state) виджета?
Как устроена верстка виджета?
В этом и заключается Model View Pattern