Serials Javascript Style Guide – Accessors
Accessors
Not required
Không bắt buộc hàm truy cập đối với các thuộc tính
No getters-setters
Không dùng JavaScript getters/setters vì chúng gây ra side effects không mong muốn và khó test, maintain, và vài lý do khác. Vì thế nên sử dụng getVal()
và setVal('hello')
nếu muốn có hàm truy cập.
// bad
class Dragon {
get age() {
// ...
}
set age(value) {
// ...
}
}
// good
class Dragon {
getAge() {
// ...
}
setAge(value) {
// ...
}
}
Boolean prefix
nếu property/method là kiểu boolean
, thì sử dụng isVal()
hoặc hasVal()
.
// bad
if (!dragon.age()) {
return false;
}
// good
if (!dragon.hasAge()) {
return false;
}
Consistent
Phải nhất quán việc tạo hàm get()
và set()
.
class Jedi {
constructor(options = {}) {
const lightsaber = options.lightsaber || 'blue';
this.set('lightsaber', lightsaber);
}
set(key, val) {
this[key] = val;
}
get(key) {
return this[key];
}
}
Tổng hợp Serial Javascript Style Guide