Closed HAKASHUN closed 9 years ago
with
文を使ってはいけない// ダメ
with (x) {
prop++;
}
// ダメ
var x = "multi \
line";
// オッケー
var x = "multi" +
"line";
var y = "single line";
{}
ブロックにおいて、{
が行の先頭にくるように記述しないfunction bad()
{
var obj =
{
val: true
};
return {
data: obj
};
}
if (cond)
{
foo();
}
for (var e in elements)
{
bar(e);
}
while (cond)
{
foo();
}
function good(){
var obj = {
val: true
};
return {
data: obj
};
}
if (cond){
foo();
}
for (var e in elements){
bar(e);
}
while (cond){
foo();
}
// ダメ
var x = {a : 1};
// オッケー
var x = {a: 1};
!
を用いるときは、その後ろにスペースを入れてはならない// ダメ
x = ! y;
//オッケー
x = !y;
,
を用いる際は、その前にスペースがあってはならない// ダメ
var hoge = [1 , 2 , 3];
// オッケー
var hoge = [1, 2, 3];
function
に続く(
の前にスペースを入れてはいけない// ダメ
function () {}
// オッケー
function() {}
function
に続く(
の前にスペースを入れてはいけない// ダメ
function () {}
// オッケー
function() {}
function
に続く(
の前にスペースを入れてはいけない// ダメ
function a () {}
// オッケー
function a() {}
(
を用いる際に、その後ろにスペースを入れてはいけない)
を用いる際に、その前にスペースを入れてはいけない// ダメ
var x = ( 1 + 2 ) * 3;
// オッケー
var x = (1 + 2) * 3;
,
で終わってはいけない// ダメ
var foo = [1, 2, 3, ];
var bar = {a: "a", b: "b", }
// オッケー
var foo = [1, 2, 3];
var bar = {a: "a", b: "b"}
// ダメ
var foo = "blah blah"; //<-- whitespace character here
// オッケー
var foo = "blah blah";
"if", "else", "for", "while", "do", "switch", "return", "try", "catch"
// ダメ
if(x) {
x++;
}
//オッケー
if (x) {
x++;
}
// ダメ
return0;
// オッケー
return 0;
function
定義の際に、{
の前には必ずスペースを入れなくてはならない// ダメ
function a(){}
//オッケー
function a() {}
function
の引数定義の際には、引数同士を", "でつながなくてはいけない// ダメ
function a(b , c) {}
function a(b,c) {}
// オッケー
function a(b, c) {}
{}
を使わなければならない"if", "else", "for", "while", "do", "try", "catch"
{}
を省略した書き方はしてはならない// ダメ
if (x) x++;
// オッケー
if (x) {
x++;
}
"?", ":", "+", "-", "/", "*", "%", "==", "===", "!=", "!==", ">", ">=", "<", "<=", "&&", "||"
// ダメ
x +y;
x+y;
// オッケー
x + y;
// ダメ
x = '' + y;
// オッケー
x = String(y);
var x = 1;
x++;
var x = 1;
x++;
// ダメ
if (x < 0) {
x++;
}
else {
x--;
}
// オッケー
if (x < 0) {
x++;
} else {
x--;
}
checkParamNames
@param
にて、そのparam名の明記を徹底することrequireParamTypes
@param
にて、そのparamTypeの明記を徹底することhttps://github.com/angular/angular.js/commits/master/.jscs.json
jscs定義が更新されていたので差分をまとめます。
後ろにスペースを入れてはならないオペレータが増えました
Before
"disallowSpaceAfterPrefixUnaryOperators": ["!"]
After
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"]
新しく追加された定義です。
++
と--
を変数の後ろに定義する際は、変数との間にスペースを入れては行けません。
// ダメ
x = y ++; y = z --;
// オッケー
x = y++; y = z--;
// ダメ
var x = [ [ 1 ] ];
// オッケー
var x = [[1]];
オブジェクトを定義する際は、プロパティ定義の末尾にカンマをつけなくてはいけません。
// ダメ
var x = {
one: 1
, two: 2
};
// オッケー
var x = {
one: 1,
two: 2
};
var y = { three: 3, four: 4};
制御フローのためのブロック文定義の際には、{
の目に半角スペースをいれなければなりません
// ダメ
if (cond){
foo();
}
for (var e in elements){
bar(e);
}
while (cond){
foo();
}
// オッケー
if (cond) {
foo();
}
for (var e in elements) {
bar(e);
}
while (cond) {
foo();
}
三項演算子を定義する際に用いる、?
と:
の残後には必ず半角スペースをいれなければなりません。
// ダメ
var a = b? c : d;
var a = b ?c : d;
var a = b ? c: d;
var a = b ? c :d;
// オッケー
var a = b ? c : d;
var a= b ? c : d;
改行を意味するコードはLFでなくてはなりません。
// ダメ
var x = 1;<CRLF>
x++;
// オッケー
var x = 1;<LF>
x++;
.jscs.json
.jscs.json.todo