예쁜 코드를 써야 돼요.

4771 단어 ASP.NET코드 사양
개인의 입장에서 볼 때 예쁜 코드는 우선 이 점을 충족시키고 가독성이 강해야 한다.
어떻게 자신이 쓴 코드를 가독성이 강해지게 합니까?가장 간단하면서도 어려운 것부터 의미 있는 명칭+줄이는 방법의 길이.
나는 많은 유류 시스템의 코드를 보았는데, 그 안에는 대부분 큰 방법으로 가득 차 있고, 여러 층으로 축소되어 있다.만약 부득이한 사정이 아니었다면 개인은 읽으려 하지 않았을 것이다.문장을 읽는 것처럼 개뿔도 안 통하게 쓴 문장을 보러 갈래요?문필이 우아한 문장을 보는 것은 즐거움이다.그래서 우리는 코드를 예쁘게 쓰고 우아하게 써야 한다.
이런 코드는 유지 보수 비용이 상당히 높아서 버그를 바꾸거나 아주 작은 기능을 새로 추가하면 사람을 놀려 죽일 수 있다.우선 한 방법에서 삼사백 줄만 나오면 억지로 보면 이해할 수 없는데, 왜?예를 들면 다음과 같습니다.
  1. 무의미한 변수 이름(또는 대량 줄임말), var a = xxx;var mmdi = xxx; 이런 변수의 명칭은 무릇 작가가 아닌 사람은 모두 이해할 수 없으며, 어떤 작가들은 그래도 비교적 좋으니, 거기에 주석을 놓아라.그러나 오랫동안 코드가 삭제되고 새로 추가되면서 주석은 위치가 틀린 것이 아니라 의미가 틀려서 오히려 오도하기 쉽다.
  2. 다중 들여쓰기.if문장을 보면 머릿속에 기억해야 한다. 여기에 지점이 있다.만약if안에 N층if에 switch가 더 있다면 바로 기절할 것이다.
     if (aaa) {
if(bb && cc) {
….
}
else if(xx) {

}
else {}
}

이 코드를 읽어 보니 뇌세포가 얼마나 죽어야 할지 모르겠다.
  3. 과도한 조건 조합.가끔 이런 코드를 볼 수 있습니다.if (aaa & & bbb & (ccc | | ddd) {}.이것도 사람을 현혹시키는 수단이다. 조건 조합이 매우 많은데, 이따금 혹은 이따금 의도가 불분명하다.
  4. 한 방법에 논리가 너무 많아서 방법이 너무 길다.예를 들면 다음과 같습니다.
      function demo() {
// request
20
// cache
5
// , ,
50
//

// view
….
}

//begin, ,

//end
//begin, bug

//end
, , , 。

반례가 매우 많은데, 여기도 일일이 열거하지 않는다.다음은 도대체 어떻게 해야만 이 문제를 해결할 수 있는지 봅시다.
  1. 의미 있는 명명을 하려면 변수든 방법이든 클래스든 한눈에 보면 이 동동이 무엇을 하는지 알 수 있다. 이것은 주석보다 쓸모가 있다. 왜냐하면 주석은 따로 유지해야 하기 때문이다.
  2. 줄임말 쓰지 마.무릇 명명은 모두 전칭으로 써야지, 이름이 길까 봐 두려워해서는 안 된다.
  3. 방법 길이를 제한합니다.코드 규범에서 한 방법이 10줄을 초과해서는 안 된다는 것을 강제로 요구한다.이 점은 대부분 사람들이 신기하게 들리지만 사실은 쉽게 할 수 있다. 구체적으로 어떻게 하는지는 《재구성》이라는 책이 모두 있다.핵심은 추출 방법이다.
   function demo() {
get_all_params
update_something
put_something_into_view
}

  4. 축소를 줄이고, 한 방법 중 한두 등급의 축소는 ok이다.
  5. 위의 과도한 조건 조합에 대해 간단하게 재구성합니다.이러한 조합은 if(is user admin() 등의 함수를 추출합니다.그리고 추출한 함수에서도 리턴 aaa & & bbb & ccc 같은 형식을 사용하지 말고 이렇게 적으세요.
   if(aaa) {return true;}

if(bbb) {return true;}

return false;

멍청해 보이는 작법은 사실 간단하지만 가독성이 좋고 좋은 코드입니다.
이것들은 모두 습관적인 것이다. 습관적으로 의미 있는 이름을 쓰고, 습관적으로 끊임없이 재구성하여 방법의 길이를 줄이고, 조건 반사로 일반적으로 예쁜 코드를 쓰는데, 우리는 모두 코드 결벽이라고 부른다.
먼저 가장 기본적인 것부터 시작하여 코드를 쓸 때 어떻게 이름을 지을지 생각하고 동료를 찾아봐라. 이 이름이 좋은지 알아보기가 쉽지 않을 것이다.이 논리를 정말 여기에 두어야 하는지 시간을 두고 생각해 보자. 한 가지 방법으로 뽑아낼 수 있을까?

좋은 웹페이지 즐겨찾기