문제

이것은 완벽하게 미세한 C# 코드이며 올바른 URL을 제공하면 잘 작동합니다. 그러나 모든 것은 코드의 가독성을 줄임으로써 한 줄에서 이루어집니다.

코드는 다음과 같습니다.

         return new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()).ReadToEnd();

나는 이런 종류의 단기 컷 코드 작성 방법에 대한 동료 개발자의 의견이 무엇인지 궁금합니다.

도움이 되었습니까?

해결책

이름이 잘 알려진 방법으로 밀어서 단일 문자가 몇 줄에 뻗어 있도록 헤어질 수 있습니다. 나는 아마도 웹 클라이언트를 사용할 것입니다.

return new WebClient().DownloadString(urlName);

다른 팁

아니요, 실제로는 완벽하게 좋은 C# 코드가 아닙니다. 스트림 리더를 처분해야하므로 적어도 using 성명:

using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
   return reader.ReadToEnd();
}

이 코드는 더 많은 라인으로 나누어서 약간의 가독성을 얻을 수 있지만 그다지 많지는 않습니다.

일반적으로 컴팩트 코드 전에 읽을 수있는 코드를 선호합니다. 각 줄에 하나의 명령문이 있으면 코드를 쉽게 읽고 이해할 수 있습니다. 예를 들어:

if (i <= 4) i = 4 - i;

이것은 한 줄의 if 문과 별도의 줄의 코드를 별도의 라인의 코드로 더 읽을 수있게되며, IF 문에는 항상 괄호가 있습니다.

if (i <= 4) {
   i = 4 - i;
}

이 코드는 물론 컴팩트 한 형태로도 읽을 수 있지만 코드가 더 복잡할수록 각 명령문을 별도의 줄에 올리는 것이 더 많이 얻어집니다.

...왝.

나는 때때로 몇 가지를 한 줄로 결합 할 것입니다. 보통 스트림에 물건을 덤프 할 때, 그러나 결코 그다지 많지는 않습니다.

대부분의 컴파일러 (최소한 C ++ 컴파일러)는 정의가 한 번만 사용되면 종종 변수 정의를 인라인으로 인라인으로 사용하므로 한 번 사용하면 변수를 버리십시오. C# 컴파일러는 아마도 이름을 정의로 바꿀 것입니다.

가독성 문제 외에도 사용중인 idisposble 객체를 처분해야합니다.

하나의 문장! = 한 줄은 코드의 형식을 향상시켜 가독성을 향상시킬 수 있습니다. 물론 다른 사람들이 고해상도 모니터를 사용한다고 가정해서는 안됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top