C# 코딩: 소스파일
하나의 소스 파일은 가능한 한 하나의 Type (클래스, 인터페이스, enum 등)을 갖게 한다. 만약 Nested Type이 있다면, 이는 해당 파일에 포함될 수 있다.
소스파일은 가능한 한 그 파일에 정의된 Type의 이름과 동일하게 한다.
소스파일은 가능한 한 그 파일에 정의된 Type의 이름과 동일하게 한다.
C# 코딩: 소스파일 내의 구조
소스파일 내의 내용들을 멤버의 종류에 따라 분류하여 정리하면 일관성을 가질 수 있다. 분류의 기준과 순서는 개발팀 내에서 결정하여 일관성을 유지하면 된다.
아래 예제는 하나의 파일 내의 여러 멤버들을 분류하여 정리한 한 예이다.
아래 예제는 하나의 파일 내의 여러 멤버들을 분류하여 정리한 한 예이다.
예제
using System;
using System.Data.SqlClient;
namespace MyNamespace
{
public class MyClass : IFoo
{
#region Fields
private int id;
private int key;
public event EventHandler FooChanged;
#endregion
#region Constructors
public MyClass()
{
}
#endregion
#region Properties
public int Bar { get; set; }
public int Foo { get; set; }
#endregion
#region Public Methods
public void DoSomething()
{
//...
}
public void FindSomething()
{
//...
}
#endregion
#region Interface Methods
void IFoo.DoSomething() { DoSomething(); }
#endregion
#region Private Methods
private void CheckSomething() { … }
private void GetSomething() { … }
private void SortSomething() { … }
#endregion
#region Nested Types
private class NestedType
{
}
#endregion
}
}
using System.Data.SqlClient;
namespace MyNamespace
{
public class MyClass : IFoo
{
#region Fields
private int id;
private int key;
public event EventHandler FooChanged;
#endregion
#region Constructors
public MyClass()
{
}
#endregion
#region Properties
public int Bar { get; set; }
public int Foo { get; set; }
#endregion
#region Public Methods
public void DoSomething()
{
//...
}
public void FindSomething()
{
//...
}
#endregion
#region Interface Methods
void IFoo.DoSomething() { DoSomething(); }
#endregion
#region Private Methods
private void CheckSomething() { … }
private void GetSomething() { … }
private void SortSomething() { … }
#endregion
#region Nested Types
private class NestedType
{
}
#endregion
}
}