나를 좌절케한 코드.. > 자유게시판

자유게시판

나를 좌절케한 코드.. 정보

나를 좌절케한 코드..

본문

오늘 질답 게시판에서

"소스가 직관적으로 일관성이 있어야합니다."

라는 문구를 보고 생각나서

10 년전 제가 활동하던 커뮤니티에 올라온 글을 일부 발췌해 왔습니다.

----------------------- 글 원본 ----------------------------

 

String printSaleGb = ...;

if ( printSaleGb == "A" ) return mergeTemplate("**/printSaleA.html");

else if ( printSaleGb == "B" ) return mergeTemplate("**/printSaleB.html");

else if ... // 이렇게 J까지 있다-_-;;;

 

한줄로 바꾸면

 

return mergeTemplate("**/printSale"+printSaleGb+".html");

 

나도 잘난건 없지만 대체 뭘 믿고 코딩하는걸까......
아-_- 저거말고 웃긴거 많은데-_-;;; 쿨럭;;;

여러분들 회사의 저장소에는 저런 코드 없나요?^^;

------------ 여기 까지 -----------------------


원글에 댓글중에는

"함수포인터 쓰면 남들이 못알아본다"

"누구나 알아볼수 있는 소스를 짜야한다"

 

소스가 직관적이라는게 어떤 의미일까요?

추천
0

댓글 19개

직관 ... 내가 알면 직관
나만 모르면 ... 공부를 해야죠
내가 아는게 전부는 아니니까
초보 개발자도 알수 있게 짜야 직관적인것은 아니니까요
중급 개발자 이상이면 이해가능하면 그것이 직관적인거 아닐까요?
격으셨겠지만 두뇌는 점점 퇴화하니 본인이 모른다느걸 점점 인정하지 않는게 문제인듯 합니다
물론 저에게도 숙제입니다^^
@해피정님 말씀처럼 내가 할면 직관~~~~
샘플 케이스는 내가 작성한 소스에는 잘안보여도 다른사람 소스에서는 잘보이는 케이스일듯...ㅎㅎ
위의 케이스처럼 한줄로 처리하는것도 중요하지만,
한줄로 처리되도록 설계하고 생각하는 것이 더 중요할듯 합니다.
직관이란 통수 굴리지 않고 바로 알아 보는 것을 말하겠죠.
"누구나 알아볼수 있는 소스를 짜야한다" ... 프로그래머가 할 일이 없어 누구든 알아볼 수 있게 하는데
시간과 에너지를 쏟아야 하는가요? 프로그래머가 뭐하는 사람들인데 그런 쓸데없는 짓까지...
지가 모르는건 모르는 자칭 코드 최적화 프로그래머 이야기였는데 이야기가 이상하게 흘러가네여 ^^
상황에 따라 다른건 맞지만 일단 저정도 코드 중복은 문제가 있다고 보는게...
일반적이지 않을까요?
위글 코드만 봐서는 어떻게 정의 할수 없을것 같네요  추가적인 하단 코드를 알지 못한 상태에서는..
저분이 어떠한 목적으로  저렇게 했을까.... 궁금해 집니다.
무슨 뜻으로 하는말씀인지는 알겠습니다.
"저렇게 코드를 짯을때는 그럴만한 이유가 있었을거다."
"케이스마다 별도의 로직을 써야한다거나 그럴걸 대비해서 코드를 짯을거다"
라고 생각하시는거 거죠?

최초 이글 발제자는 저 코드를 짠사람의 사수였고 그사람의 말에 따르면 저 부분은 단순히 들어온 값에 따라 만들어진 웹페이지를 호출하는거라고 한거니 잘못짠건 맞습니다.
물론 시간이 없었다거나, 손이 아닌 마우스로 코딩하신 거라고 변명할수 있지만
직접 짠사람이나 그 내용을 알고 있는 사람이 아니라면 함부로 고칠수가 없다는 걸 생각해보면
최초 코드 짠사람이 최대한 신경써서 작성해야 된다는 의미로 받아 주시면 좋겠습니다.

거창하게 디자인 패턴에 의한 리팩토링, 코드 최적화 이런거는 바라지도 않습니다.
적절한 주석, 필요없는 코드 삭제, 중복된 코드 최소환 정도만 해도 인수인계시 얼굴붉힐일은 없을겁니다. ^^
전체 195,299 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여69 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT