매개 변수 디자인 - 멤버에 필요한 기능을 제공하는 최소 파생 매개 변수(least derived parameter) 형식을 사용한다. 예를 들어 컬렉션을 열거하고 각 항목을 출력하기 위한 메서드에서는 ArrayList나 IList가 아닌 IEnumerable을 매개 변수로 사용한다. - 예약된 매개 변수를 사용하지 않는다. 나중에 새로운 멤버에 대한 추가가 필요한 경우 새 오버로드를 추가한다. - 포인터, 포인터 배열 또는 다차원 배열을 매개 변수로 사용하는 public method는 사용하지 않는다. 포인터 및 다차원 배열을 제대로 사용이 어려워 대부분 API에서 이러한 형식을 매개 변수로 사용하지 않도록 디자인한다. - 오버로드 함수 간에 매개 변수 순서가 일치하지 않게 되더라도, by-value ..