기능에 대한 욕심 코드 스멜을 보고합니다. 메서드가 다른 클래스의 메서드를 세 번 이상 호출하면 경고가 발생합니다 라이브러리 클래스, 상위 클래스, 포함된 클래스 또는 포함하는 클래스에 대한 호출은 이 검사에서 고려되지 않습니다. 기능에 대한 욕심은 보통 해당 기능이 잘못된 클래스에 있다는 사실을 알려줍니다.

예:


  class JobManager {
    // 경고: 이 메서드는 Job 클래스의
    // 메서드 3개를 호출합니다
    // 이 호출 체인을
    // Job 클래스로 옮기는 것이 좋습니다
    void performJob(Job job) {
      job.beforeStart();
      job.process();
      job.afterProcessing();
    }
  }