Bob Martin의 "청결한 코드"에서 제안한 내용으로 인해 머리가 긁혔습니다. "한 번 함수가 다른 함수를 호출하면 수직으로 가까이 있어야하고 호출자는 수신자 위에 있어야합니다."
지금까지 나는 클래스 멤버를 유형 (속성, ctor, 함수) 및 가시성 (public / prot. / private)으로 그룹화하는 .Net 지침에 거의 충실했습니다. 팁은 처음에는 문제가있는 것 같지만 "그냥 효과가있을 것"입니다. 개인적으로이 레이아웃이 마음에 들었습니다. 올바른 콜 체인에있을 때 쉽게 드릴 다운 할 수 있습니다.
팁 뒤에있는 아이디어는 적절 해 보이지만 "이 클래스의 공개 인터페이스를 보자"와 같은 다른 시나리오는 더 나빠질 수 있습니다. 어쩌면 밥 아저씨는 작은 클래스들과 타입보기를위한 IDE 지원에 의존하고 있습니다.
누구든지 오랫동안 이것을 사용해 보셨습니까?
업데이트 : 코드 스 니펫이 정상인 것처럼 보입니다.
class SomeType()
{
/// fields, ctors, et. all
public void Method1() { // calls HelperMethod1 and HelperMethod2 }
private void HelperMethod1 { // calls HelperMethod3 }
private void HelperMethod3 {}
private void HelperMethod2 {}
public void Method2 () { // and so on... }
}