컴공 일기2
게시글 주소: https://orbi.kr/00056473604

코딩을 잘하는 사람들의 공통적인 특징이 무엇일까요? 제 개인적인 견해로는 '시점'과 '효율성'을 코드에 삽입할 줄 아는 거예요..!
A라는 코드가 있고, B라는 코드가 있다고 가정해봅시다. 둘다 컴파일러를 통해 실행시키면 똑같은 결과가 나와요. 그럼 과연, 거기서 A,B는 '비스무리한 코드'라고 결론지어도 될까요?
저는 아니라고 생각해요. 왜냐하면 코드는 반드시 '유지/보수' 관점 즉 '미래'를 신경써야 하거든요. 뿐만이 아니라 이제껏 짜온 코드의 방향성 즉 '과거' 또한 신경써야죠.
경력이 많은 개발자들의 코드엔, 시점이 존재해요. 과거와 미래를 아주 정확히 고려할 줄 안다는 것이죠. 그래서, 다른 코드에 비해 유지/보수에도 적절하고, 기존 코드와 합체했을 때도 '효율'이 나오는 것이지요. 근데, 똑같은 결괏값을 가지는 코드지만 이번에는 유지 보수에도 부적합하고, 이제껏 짜온 코드들의 흐름을 반영할 수 없다면요? 처음부터 다시 짜야되겠죠. 그런 것은 생산성이 0에 가까우니까요. 이렇게, 같은 결과를 낸다고 하더라도 코드 안에 시점과 효율이 있느냐 없느냐는 하늘과 땅의 차이랍니다.
물론, 내 코드 안에 시점을 집어넣는다는 건 정말 어려운 일이지만요..
그런 관점에서 다음 코드는 '오류'가 검출되진 않더라도, '효율적'이지 못해요. 왜냐하면, a라는 객체를 이상하게 두 개의 함수가 관리하고 있거든요. TestFunc() 함수와, a 객체의 생성자 함수가요. 한 객체를 하나의 함수로 관리하는 게 훨씬 이득이고 효율적인데, 이 코드는 그러지 못했어요.
게다가 더 웃긴 건, param이라는 CTest객체가 TestFunc() 함수의 호출 과정에서 a를 원본으로 복사 생성이 되어버리죠. 하나의 함수로 관리하지 못한 것도 슬픈데, 애처롭게 a의 객체가 원본과 복사본 이렇게 두 개가 되어버렸어요.
따라서, 이 코드는 문제가 상당히 많은 코드랍니다.
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
완전 멋있어요... 좋은 글 잘 읽었어요!
악 아니에용...! 저는 일개 초보 개발자 지망생으로 지금 막 공부하고 있는 걸 공유해보고 있는 중이랍니다 ㅎㅎ 좋게 보아주셔서 너무 감사드려용>.<
저도 관심있는 분야여서 너무 재밌었어요! 설명도 친절하시고요

꺄아아악 감사드립니다 (__)팔로우하고 자주 찾아올게요! 편안한 밤 보내요~

좋은 밤 되세용!저도 얼른 컴공 가고 싶네요
저보다 더 좋은 곳 가세요! ㅎㅎ

우아... 좋은글 잘 읽고 갑니다!! 진짜 똑똑하신 것 같아요..
둥실님 오늘두 화이팅이에용 항상 감사해요>_<