2013-02-18 1 views
-2

Window Form App 프로젝트가 있습니다. 현재 모든 코드는 기본 파일 인 Form1.cs 파일에 있습니다. 지금 나는이 파일 하나에 약 1300 행의 코드를 가지고있다. 이 파일 코드를 여러 파일로 나누어서 가독성과 취급 용이성을 높이고 싶습니다. 그렇게 할 수있는 방법이 있습니까?긴 C# 파일 분석

감사합니다.

+3

Refactor, refactor, refactor ... – Maarten

답변

0

과감한 작업을 원하지 않으면 부분 키워드로 클래스를 나눠서 각 파일을 고유 한 파일에 배치하십시오.

public partial class Form1 { // file1.cs } 
public partial class Form1 { // file2.cs } 

일반적으로 하나의 클래스에 모든 코드를 삽입하는 것은 좋은 방법이 아닙니다 http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.80).aspx

+0

제안 된대로 투표 감소와 의견을 얻는 것이 좋을 것입니다. SO – allen

+0

나는 downvoted하지 않았지만 누군가가 단일 파일 응용 프로그램에서 가독성과 유용성을 높이는 방법을 묻는다면 제 의견으로는 더 좋은 조언이 있습니다. 큰 혼란은 반으로 자르면 더 나아질 수 없습니다. –

+0

@TimSchmelter 나는 그것에 관해 당신에게 동의하며 나의 대답은 더 나은 충고가 결여되었다고 인정합니다.거기에는 혼란에 빠지지 않는 진정한 이유가있을 수 있습니다. 레거시 코드는 리팩터링 비용이 상당히 높습니다. 확실히 모르겠지만 질문자가 Tigran과 당신이 언급 한 요점을 읽었기를 바랍니다. – allen

1

리팩터를 사용하십시오. 마우스 오른쪽 버튼으로 클릭 -> Refactor -> Exctract 메소드를 선택하십시오. 또는 Ctrl + M 조합.

1

예, 물론입니다. 이를 달성하기 위해 Partial classes을 사용할 수 있습니다.

그리고 이것은 의 가독성 코드 일 뿐이며, 단일 파일 (심지어는 그 의미에 달려 있음)에있을 수도 있습니다. 그러나 동일한 코드를 개의 다른 파일로 나누면은 소스 컨트롤을 사용할 때 훨씬 더 융통성있게 그룹을 개발할 수 있습니다.

그래서 여러 팀 구성원은 같은 Form 클래스에서 작업 할 수 있지만, 그들이 어떤 논리에 따라 나누어 한 다른 IO 아티팩트 (파일), 작업, 그들은 (그것을 가능한 한 많이) 충돌에 뛰어하지 않습니다 .

이것에 대해서도 생각해보십시오.

+1

부분 클래스를 사용하는 것이 OOP을 배우는 올바른 방법이 아니라고 생각합니다. –

+1

@TimSchmelter : 절대적으로 맞습니다. 사실상 OOP를 배우는 것이 절대적으로 * 아닙니다. 누가 그런 질문을합니까? – Tigran

+1

OP는 단일 파일에있는 코드의 가독성과 재사용 성을 높이기를 원합니다. Imho는 큰 것을 여러 개의 작은 논리적 패키지로 분할하는 방법을 배우는 가장 좋은 방법은 OOP를 배우는 것입니다. –

0

를 참조하십시오. 관심사에 따라 Separation of Concerns 원칙을 적용하고 단일 클래스를 여러 클래스로 분리하는 것이 좋습니다. 보통 사람들이 1 개 파일 1 개 클래스를 포함하는 방식으로 코드를 구성 : 코드 구성에 대해

http://en.wikipedia.org/wiki/Separation_of_concerns

. 그 클래스가 너무 크고 (따로 분리 할 수없는 경우), C#의 부분 클래스 기능을 사용하여 동일한 클래스를 여러 파일로 구성 할 수 있습니다.