Formatação é subjetivo. Como várias das regras mencionadas aqui, não há uma regra difícil e rápida que você tenha que seguir. O ponto principal é NÃO DISCUTA a respeito de formatação. Há toneladas de ferramentas para automatizá-la. Use uma! Discutir sobre formatação é um desperdício de tempo e dinheiro para engenheiros. Para o que não está ao alcance da formatação automática (alinhamento, tabulação vs. espaço, aspas duplas vs. aspas simples), veja aqui algumas orientações.
Uso consistente de letras maiúsculas
JavaScript não tem tipos, portanto letras maiúsculas dizem muito a você sobre suas variáveis, funções, etc. Essas regras são subjetivas, por isso sua equipe pode escolher o que quiser. O ponto é que, não importa a sua escolha, apenas seja consistente.
Não é recomendável:
const DAYS_IN_WEEK = 7;
const daysInMonth = 30;
const songs = ["Back In Black", "Stairway to Heaven", "Hey Jude"];
const Artists = ["ACDC", "Led Zeppelin", "The Beatles"];
function eraseDatabase() {}
function restore_database() {}
class animal {}
class Alpaca {}
É recomendável:
const DAYS_IN_WEEK = 7;
const DAYS_IN_MONTH = 30;
const SONGS = ["Back In Black", "Stairway to Heaven", "Hey Jude"];
const ARTISTS = ["ACDC", "Led Zeppelin", "The Beatles"];
function eraseDatabase() {}
function restoreDatabase() {}
class Animal {}
class Alpaca {}
As funções que chamam e as funções chamadas devem estar próximas
Se uma função chama outra, mantenha-as verticalmente próximas no arquivo fonte. O ideal é manter a função que chama logo acima da função chamada. Nos tendemos a ler o código de cima para baixo, como se fosse um jornal. Por conta desse princípio, mantenha seu código lido desse modo.
Não é recomendável:
class PerformanceReview {
constructor(employee) {
this.employee = employee;
}
lookupPeers() {
return db.lookup(this.employee, "peers");
}
lookupManager() {
return db.lookup(this.employee, "manager");
}
getPeerReviews() {
const peers = this.lookupPeers();
// ...
}
perfReview() {
this.getPeerReviews();
this.getManagerReview();
this.getSelfReview();
}
getManagerReview() {
const manager = this.lookupManager();
}
getSelfReview() {
// ...
}
}
const review = new PerformanceReview(employee);
review.perfReview();
É recomendável:
class PerformanceReview {
constructor(employee) {
this.employee = employee;
}
perfReview() {
this.getPeerReviews();
this.getManagerReview();
this.getSelfReview();
}
getPeerReviews() {
const peers = this.lookupPeers();
// ...
}
lookupPeers() {
return db.lookup(this.employee, "peers");
}
getManagerReview() {
const manager = this.lookupManager();
}
lookupManager() {
return db.lookup(this.employee, "manager");
}
getSelfReview() {
// ...
}
}
const review = new PerformanceReview(employee);
review.perfReview();
E aí? Gostaram? Até a próxima tradução! 🤗
Top comments (0)