jshint-комментарии в коде, кстати, дополнительную полезную инфу несут, не только для jshint.
Типа «да, здесь на первый взгляд написано не совсем правильно, но конкретно здесь так надо».
JSLint тоже сначала показался слишком жёстким, но потом привык :)
У JSHint был плохой парсер. Например:
for (k in obj) {
if (obj[k] === 5) {...}
}
Здесь должно быть предупреждение, типа «юзайте if (obj.hasOwnProperty(k))», но JSHint проверял только на то, что после for сразу стоит if.
Может исправили, не знаю.
Видимо автор недавно стал работать с вордпрессом, нашёл десяток говнокодистых моментов и решил написать статью.
Что будет когда он найдёт там остальные десять тысяч? Каждый раз по статье?
Это и есть полиморфизм.
Если я пишу:
function func($a) {
foreach ($a as $k => $v) {
//…
}
}
То мне всё равно, массив это или объект-итератор.
Сейчас нет возможности указать «я хочу здесь итератор и мне плевать, объект это или нативный массив».
Я уже не говорю о том, чтобы функции для работы с массивами могли объекты с нужными интерфейсами принимать.
Предлагается добавить возможность указания нескольких типов для этих случаев, например:
function (array|Traversable $in) {}
Это круто, конечно.
Но конкретно в этом случае лучше бы включили array в Traversable и в ArrayAccess или отдельные псевдо-типы для этого сделали.
Краем уха слышал, что палеонтологи при выдвижении гипотез про все эти вымирания в первую очередь делают акцент на процессах происходящих внутри экосистем.
А все эти метеориты и вулканы больше для публики. Простому люду скучно про баланс внутри экосистемы слушать, а вот трах-бабах это интересно.
В большинстве анализаторов удручает, что определённые правила нельзя менять для некоторого куска кода.
Как в jslint/jshint, например. Для какого-нибудь блока можно указать комментарий, отключающий какую-то проверку.
Типа, «да, я понял твоё указание, но именно здесь так надо.»
Не понимаю, чем зелёный фон людям не нравятся?
Пусть актёры мозги напрягают, дома, годзил, гномов представляют. В том актёрская игра, собственно, и есть.
Вот, например, картинка.
www.vetmed.vt.edu/education/Curriculum/VM8054/EYE/RTNADGRM.JPG
Light идёт сверху, а Pigment Cell внизу. И Signal обратно пошёл.
name = name || «default»;
Типа «да, здесь на первый взгляд написано не совсем правильно, но конкретно здесь так надо».
JSLint тоже сначала показался слишком жёстким, но потом привык :)
У JSHint был плохой парсер. Например:
for (k in obj) {
if (obj[k] === 5) {...}
}
Здесь должно быть предупреждение, типа «юзайте if (obj.hasOwnProperty(k))», но JSHint проверял только на то, что после for сразу стоит if.
Может исправили, не знаю.
Что будет когда он найдёт там остальные десять тысяч? Каждый раз по статье?
Если я пишу:
function func($a) {
foreach ($a as $k => $v) {
//…
}
}
То мне всё равно, массив это или объект-итератор.
Сейчас нет возможности указать «я хочу здесь итератор и мне плевать, объект это или нативный массив».
Я уже не говорю о том, чтобы функции для работы с массивами могли объекты с нужными интерфейсами принимать.
function (array|Traversable $in) {}
Это круто, конечно.
Но конкретно в этом случае лучше бы включили array в Traversable и в ArrayAccess или отдельные псевдо-типы для этого сделали.
Почему не просто:
var MyClass = Lava.ClassManager.define({
Extends: ParentClass
});
А все эти метеориты и вулканы больше для публики. Простому люду скучно про баланс внутри экосистемы слушать, а вот трах-бабах это интересно.
Как в jslint/jshint, например. Для какого-нибудь блока можно указать комментарий, отключающий какую-то проверку.
Типа, «да, я понял твоё указание, но именно здесь так надо.»
Всей описанной гаммы чувств не наблюдаю.
Пусть актёры мозги напрягают, дома, годзил, гномов представляют. В том актёрская игра, собственно, и есть.