[글쓰기] CH01 . 개발과 글쓰기

🐷Jinie (juniorDeveloper)·2020년 10월 5일
3

Programmer(교양쌓기)

목록 보기
1/3
post-thumbnail

'개발자의 글쓰기'라는 책을 접하게 되었다.
'도대체 개발자와 글이 무슨 상관관계일까?' 라는 의문을 품고 읽기 시작했다.

0. 개발자의 글쓰기

개발자의 글쓰기는 정확성, 간결성, 가독성이 중요하다.

  • 정확성 :
    틀림없이 확실한 것. 내가 쓴 글대로 개발하면 버그없이 정확하게 실행이 되어야한다.
  • 간결성 :
    군더더기 없이 깔끔한 것. 주저리주저리 길게 늘여놓은 글보다 깔끔 간단 핵심 명료가 중요하다.
  • 가독성 :
    쉽게 읽히는 것. 누가보더라도 한번에 잘 읽히도록 해야한다.

    내가 코드를 짤 때, 주석을 달거나 변수를 선언하거나 언제 어디서든 적용되는 상황이라는 생각이 들었다! 내 코드가 반드시 버그없이 실행이 되어야하는 것은 기본이고, 누군가 내 코드를 봤을 때 '오 이게 뭘 개발한거구나?'라고 한눈에 알아볼 수 있으면 더 효율적인 협업이 가능한 결과를 이끌어 줄 수 있을 것이기 때문이다.
    개발자는 혼자 일하는게 아니니까!! 협업, 공존, 그리고 업무의 효율화를 위해서 내가 개발자의 길을 걸어갈 때, 밑바탕이 되어야하는 개념들!!

1. 단락의 구조화 '위계'

인간은 컴퓨터처럼 한눈에 내가 써낸 코드의 '부모'와 '자식'을 알아볼 수도 없고, 무엇이 어디에 속하는지 확연하게 구분할 수도 없다.
따라서, 들여쓰기와 코딩에서의 구조화는 필수적이다.
항상 위계가 잘 드러나도록! 그 관계가 잘 보이도록 써야한다!
(심지어 python은 블럭이 없어서 for문 등을 사용할 때, 들여쓰기 (위계)가 매우매우 중요!

2. 띄어쓰기

사실 이 책을 읽으면서 내가 작성했던 코드의 띄어쓰기를 다시 떠올려보게 되었다.
생각해보니까 내 띄어쓰기에는 규칙이없었다.
책 속의 한 문구를 기억하자 '콤마(,)는 앞의 단어에 붙여쓰기'

1. 나쁜예
wordSpacing( arg1 , arg2 )
2. 좋은예
wordSpacing(arg1, arg2)

3. 문장부호

모든 언어에서 따옴표는 나에게 항상 혼란을 주는 부분이다.
어디서는 문자에 ''(작은 따옴표), 문자열에 ""(큰따옴표)를 쓰고
어디서는 구분없이 둘다 사용하고(교차는 불가)
도대체 나한테 왜그러나.. 하는 생각이 들기도 했다.
쓰다보면 익숙해지겠지ㅠ3ㅠ

  • 주요언어들로 정리해보자.
  1. C언어 :
    '단일문자', "문자열"
  2. SQL :
    '쿼리문'
  3. JavaScript :
    '주로 작은 따옴표 사용'
  4. HTML :
    "주로 큰 따옴표 사용"

4. 네이밍 , 이름짓기

진짜 이 책에서 오늘 읽은 부분 중 가장 공감가는 파트다.
이름짓기.
클래스, 변수 등등 수 많은 이름들 사이에서 매번 무슨이름을 지어야하나 고민한다😂
혹시 예약어와 겹칠까? 너무 길진 않을까? 무슨뜻인지 너무 혼란스럽지는 않을까?
수 많은 고민 끝에 결정하는데도 부족하다..

  • 코드에 주석을 주렁주렁 달고 싶지 않다면, 이름을 잘지어라.
  • 적어도 나중에 파일을 다시 열어본 '내'가 무슨 뜻인지 모르는 이름은 만들지 말아야지..
  • 이게 뭔지, 무슨 기능인지, 그리고 간결한 이름을 만들자.
  • 이름짓기는 창조가 아니라 '조합'
  • '자바 네이밍 컨벤션'을 준수한다.
    -- 클래스 : UpperCamelCase //파스칼 표기법
    -- 함수와 변수 : lowerCamelCase // 카멜 표기법
    -- 상수는 UPPER_DELIMITER_CASE // 모두 대문자
  • 파스칼 표기법 : 모든단어의 첫글자를 대문자로
    카멜 표기법 : 첫단어 첫글자는 소문자, 나머지 모든 단어의 첫글자를 대문자로
  • 무조건 짧게 쓴다고 좋은게 아니다. 애매한 의미의 축약은 피하기
1. 나쁜예
int d
int m
int y

2. 좋은예
int someday
int today
int thisMonth
int finalYear

이렇게 알 수 없도록 줄여놓은 문자들 말고, 뜻은 유추할 수 있는 단어들로 이름을 지어보자

⭐️ 좋은 이름이 가진 5가지 특징
1. easy to Search : 검색하기 쉽고
2. easy to Mix : 조합하기 쉽고
3. easy to Agree : 수긍하기 쉽고
4. easy to Remember : 기억하기 쉽고
5. easy to Type : 입력하기 쉽고

사실 지금은 쉽게 위와 같은 좋은 네이밍이 익숙하지 않다.
다만, 계속 신경쓰고 고치고 노력하다보면 자연스럽게 이름이 지어지는 날도 오겠지ㅠㅠ

5. 주석

이름을 잘 지으면 주석을 줄일 수 있다고 한다.
그럴듯하다.
사실 혼자 코딩하고 혼자 실행할 때는 그다지 주석이 중요하지 않다.
나혼자 이해하고 보면 끝이니까~!
근데, 내가 현업에서 일하기를 원하고 있기 때문에 '주석'을 올바르게 이용하는 방법을 아는 것도 필요하다고 생각한다.

  • 굳이 이게 무엇인지 설명할 필요가 없는 네이밍을 먼저 연습하자.
  • 이름만으로 정확하게 설명할 수 없는 코드에는 주석을 쓰자.
    주석을 달아서 남이 봐도 이게 뭔지 정확하게 이해할 수 있도록!
  • 뜻밖의 발견, 새로운 아이디어, 더 좋은 방법 등 다른 개발자가 참고하면 좋을 상황도 주석을 달아서 소통하기
  • 주석이 반복된다고 너무 생략해버리지는 말자. 꼭 필요한 위치라면 중복되더라도 쓰는게 정확하니까!

⭐️ '주석도 코드다.' 라는 문구가 마음에 들어왔다.
사실 혼자 공부하면서 주석에 크게 신경쓰지 않았다. 그러나 이렇게 습관이 되어버리면 그 습관을 현업에 들어간다고 쉽게 바꿀 수 있을까?
아니다. 습관은 바꾸기 힘들다. 애초에 지금, 배울때 적절한 곳에 적절하게 주석을 배치할 수 있도록 주석도 코드처럼 연습하자 :)


이번 게시글은 크게 문법적으로 필수적이고 무조건적인 공부는 아니다. 그래서 내 생각도 넣고 좀 더 편안한 마음으로 정리했다 ㅎㅎ
하지만, 그렇다고 쉽게 보고 넘어갈 부분도 아니라는 생각이 들었다.
함께 일하는 곳은 늘 '소통'이 중요하고
내가 보는 코드와 에러없는 개발도 좋지만 모두가 효율적으로 일할 수 있도록 '협업'하는 것도 중요하기 때문이다 😁
누군가에게 같이 일하고 싶은 '개발자'가 되기 위해서 조금씩 올바른 습관을 들여보자 :)

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글