kenu
41k
2018-04-17 01:50:29
10
4882

좋은 코드를 작성하고 있다는 징후 11가지


http://www.itworld.co.kr/news/108939

"1. 디버그 가능(Debuggable)

대부분의 현대 런타임에서는 일종의 디버거를 연결할 수 있다. Node.js조차 비주얼 스튜디오로 디버그가 가능하다. 언젠가 무슨 일이 벌어지는지 알아내야 할 때 디버거를 연결해야 한다는 생각을 갖고 코드를 써야 한다.


그 의미를 정확히 설명하기는 어렵지만 이렇게 하면 때로는 데이터의 구조를 설계하는 데 영향을 미치기도 한다. 구조를 파나갈 필요가 없도록 더 많은 임시 변수를 사용할 수도 있다. 다행히 대부분은 결과적으로 좋은 습관이다.


가장 좋은 시작 방법은 문제가 없을 때 디버거 사용을 연습하는 것이다. 단계별로 진행하면서 할당을 살펴보고, 잘못된 값이 있을 경우 어떻게 할지 생각해 보라."


11
7
  • 댓글 10

  • 초코쪼꼬
    6k
    2018-04-17 08:32:03

    7. 이해 가능(Intelligible)
    함수형 프로그래밍이 유행하자 사람들은 여기에 다소 과하게 몰입하면서 코드는 여전히 가독성이 있어야 한다는 사실을 망각했다. 10년 20년 전의 객체 지향 코드도 마찬가지다.

    첫 번째 원칙 : 코드를 컴퓨터가 읽을 수 있게 만드는 것은 컴파일이다. 개발자가 할 일은 코드를 사람이 읽을 수 있게 작성하는 것이다.

    원문보기:
    http://www.itworld.co.kr/news/108939#csidx38520333e5cf1b88bf0f1233ae46940


    여기서 이해가능이라는 말은 일반적인 기준이여야할지.. 같은 그룹내 막내급 기준이 되어야할지 아리송하네요..

    0
  • isNotEmpty
    2k
    2018-04-17 12:19:29

    초코쪼꼬 님//

    간단하게는 문단 들여쓰기부터, 한 번에 알 수 있는 변수명과 함수명이 있을 것 같네요.

    습관화되었으면 모를까, 여기저기 일하다보니 진짜 쓰레기처럼 줄 섞여있는 소스들이 많습니다.



    1
  • 전재형
    4k
    2018-04-17 15:35:14

    사실 저것도 타켓층마다 받아드리는게 다를거에요.


    전문가 집단에서는 함축어, 세련된글구조를 통해 이해를 더 쉽게하지만. 저수준 사용자에게 함축어나 세련된 증명 구조를 사용하게 하면. 첫번째 문제조차 못 풀겠죠

    0
  • unthinkall
    1k
    2018-04-18 00:25:44

    제가 함수형 프로그래밍에 대해서 보았을 때 생각과

    비슷하네요... 가독성 문제는 확실히 짚어봐야 될 문제인듯합니다.

    1
  • 세브라이드
    846
    2018-04-18 23:21:59

    근래 본 글중에서 제일 감명깊었습니다. 감사합니다!

    0
  • urbug2
    1k
    2018-04-20 09:32:51 작성 2018-04-20 09:33:55 수정됨

    초코님 /

    당연히 일반적인 기준이죠.

    초보가 무난히 읽을 수 있으면서 세련된 코드가 있을 수 있을까요?


    솔직히 일반적인 사람이 대상일 필요도 없다고 생각합니다.



    0
  • 로보넥스
    2018-04-21 19:43:53

    1. 디버그, 4. 빠른 실패, 10. 모듈형


    저는 위 3가지가 가장 중요하다고 봅니다^^


    0
  • 운동남
    2
    2018-04-24 13:30:27

    로보넥스님 //

    기사를 읽어보았습니다만, 4번 빠른 실패가 무슨말을 하는 건지 이해가 가지 않습니다.

    혹 설명 가능하신가요 !??

    0
  • kenu
    41k
    2018-04-24 15:21:27

    Fast Fail on Netflix

    https://medium.com/netflix-techblog/fault-tolerance-in-a-high-volume-distributed-system-91ab4faae74a

    0
  • 로보넥스
    2018-04-25 01:10:29

    크래시나게 짜라는 겁니다.

    애매한 예외처리를 통해 사태를 질질 끌지말고

    또한 상황을 case1, case2.. 이렇게 체력낭비말고

    단박에 크래시나게 만들어서 디버거로써

    빠르게 인지하고 빠르게 해결하라?

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.