Bad
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 ( ) ;
Good
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 ( ) ;