디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

코딩의 기초

ㅇㅇ(1.249) 2025.03.31 17:04:51
조회 113 추천 2 댓글 9

https://gall.dcinside.com/board/view/?id=programming&no=2829956&fcno=9038098

 

https://gall.dcinside.com/board/view/?id=programming&no=2829972&fcno=9038131

 




코딩의 기초는 응집도와 결합도를 아는 것입.

위의 글에서 이야기 한 것 처럼 코딩은 함수를 잘 만들어야함.



그러기 위해서 필요한 것은 응집도와 결합도에 대한 이해임.




응집도는 말 그대로 응집되는 것, 하나의 논리, 함수, 기능에 수렴하는 것을 말함.

소스코드는 수 많은 논리들로 이루어짐, 응집도가 높다는 것은, 이 논리들이 각각 개별로서 존재하며

상호작용 하고 있다는 것을 뜻함.




1차원 적으로 말하자면 각각의 응축으로 인해, 이것과 저것에 대한 구분이 생긴다는 것임.

이러한 구분을 언어적으로 지원하는게 함수임.




그렇다면 응집도를 이해한다는 것은 소스코드에서 무엇을 함수로 만들어야 할지에 대한 시각이 생긴다는 것과 같음.

그래서 초보들은 함수를 잘 만들지 못함. 응집도에 대한 이해력이 낮기 때문임.




이러한 응집도는 해당 프로그램 내에서의 기능적인 응집도가 있고, 비즈니스적 응집도가 있음.

초보들이 응집도를 어려워 하는 이유는 구조적인 응집도와 구현목표에 따른 응집도에 대한 구분을 어려워 하기 때문임.




구조적인 응집도는 레고블럭을 만드는 것과 같음.

레고 블럭을 만들어서 목표에 도달하고자 하는 것임.




반면에 비즈니스 적인 응집도는 바로 목표를 위한 응집도임.

찰흙, 시멘트, 자갈, 같은 것임.


그래서 틀을 잡지 못하면 코드가 개판이 되기 쉬움.




코딩이란 구조적인 응집도와 비즈니스 적인 응집도를 소스코드에서 구분할줄 알아야하며

비즈니스적인 목표를 구조적 응집도 위에 올릴줄 알아야함.




이것을 모르면, 함수를 알수가 없음.


무엇을, 어떻게, 어느정도로 단락을 끊어주어야 하는지 혼동이 오기에

초보들의 코드는 사람이 이해하기 짜증나는 코드가 됨.




구조적인 코드를 만들고 있다고 생각하는 초보들이 많음. 즉 기계적인 코드를 짜는 것임.

이건 비즈니스의 절차의 구조를 그대로 코딩을 하면서, 자기가 구조화된 코드를 짜고 있다고 생각하기 때문임.




응집도를 높이기 위한 지식은 cs계에 거의 없었음.

oop에서 약간, 클린코드류에서 기초적인 방법론을 얻을수 있을 뿐이었는데

리팩토링이 등장하면서 응집도를 높이는 기술이 가시적으로 나타난 것임.




그래서 몇일, 몇개월, 몇년 뒤에 소스코드를 다시 보면 이해하지 못한다는 말이 과거로부터 존재하는 것임. (과거에는 리팩토링을 몰랐으니까)

응집도가 뒤틀려 있기에 시간이 지나 소스코드를 보게될때, 해당 기능의 의미를 이해하기 어려움.

이것이 응집도에 대한 불완전한 이해로 짠 코드들의 결말임.




두번째 결합도도 마찬가지임.


응집도를 극한으로 높여 파라메터 결합도, 순서 결합도 수준에서 코드를 정리해 나가면

특정 기능의 처리로직과 리소스가 프로그램 구조에서 명확하게 드러나게됨.


이것들을 모아서 메인함수, 혹은 클래스로 구성을 하면 기본적인 하나의 기능을 코딩하여 완료했다고 말할수 있음.



코딩을 배워나가며, oop니 디자인패턴이니 이것저것을 배우고 있는데

가장 기본이 되는 것은 응집도와 결합도를 소스코드에서 볼수 있는 시각을 갖는 것임.


이런 기본중의 기본이 안되고, oop 디자인 패턴을 배워봤자 

겉멋만 든 병신같은 소스코드만 만들게됨.



기초가 가장 중요함.


추천 비추천

2

고정닉 2

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 사회생활 대처와 처세술이 '만렙'일 것 같은 스타는? 운영자 25/03/31 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 42832 64
2838103 러스트가 위대한 이유 *루비*갤로그로 이동합니다. 07:40 3 0
2838099 죽을 용기는 용기가 아냐. 그냥 살아갈 희망이 없는거지 프갤러(110.8) 07:28 5 0
2838094 미국시장에는 이제팔 수가없어 프갤러(118.235) 07:13 11 0
2838090 인지과학조져라 손발이시립디다갤로그로 이동합니다. 07:03 8 0
2838073 오늘 일 끝나면 ㅆㅇㅆ찡갤로그로 이동합니다. 06:05 17 0
2838072 님들 죽을용기가 있으면 살아야됨. 죄지은것도 아니고 나한테 시비검 넥도리아(223.38) 06:05 21 0
2838057 몸 썩은내 파괴 바디로션 추천 ㅇㅇㅇㅇ(124.198) 05:16 18 0
2838044 비전공 보안관제 프갤러(118.36) 04:31 20 0
2838023 엔트리 알고리즘으로 배웠는데 [4] 공갤러(125.178) 03:00 40 0
2838018 내가 공감을 못하는 이유가 뭐지... 어릴때 애비가 하도 때려서 그런가 [1] ㅇㅇ(223.38) 02:35 27 0
2838017 각 직업별로 알려주는 현실 꿀팁 ㅇㅇㅇㅇ(49.254) 02:27 54 0
2838011 vscode mcp server 써봤는데 프갤러(49.165) 01:59 29 0
2838004 망가지고싶은 깊은밤.. 나님.. 내일을 위해 잠들어야 하네.. [2] ♥냥덩소프트♥갤로그로 이동합니다. 01:32 39 0
2838003 나님은 21세기의 플라톤,아리스토텔레스임 [1] ♥냥덩소프트♥갤로그로 이동합니다. 01:26 55 0
2838002 혁명 일어나면 냥덩이도 사형이네 발명도둑잡기갤로그로 이동합니다. 01:20 25 0
2838001 원종이에게 고마운점.. [2] ♥냥덩소프트♥갤로그로 이동합니다. 01:19 59 0
2838000 제주도서 미군이 저지른 일... 어느 조종사가 받은 추천서의 정체 발명도둑잡기갤로그로 이동합니다. 01:19 22 0
2837999 오우.. ♥냥덩소프트♥갤로그로 이동합니다. 01:00 44 0
2837998 나님 도둑~냥~덩이~✨ [2] ♥냥덩소프트♥갤로그로 이동합니다. 00:51 74 0
2837997 평소에 정직하려고 노력하는 사람은 만우절이 해방감을 많이 준다 발명도둑잡기갤로그로 이동합니다. 00:49 22 0
2837996 한국인들은 왜 괜찮지 못할까... 웃어 그냥 넘기라고 ㅇㅅㅇ ㅇㅇ(223.38) 00:40 27 0
2837995 영국영어 vs 미국영어 뭐 골라야하나요? ㅈㅁ(222.100) 00:36 24 0
2837994 나님 누엇어양✨ ♥냥덩소프트♥갤로그로 이동합니다. 00:17 47 0
2837993 내란수괴 리죄명 한덕수 총리에 만남 구걸 한덕수 총리는 거절 ㅇㅅㅇ ♥냥덩소프트♥갤로그로 이동합니다. 00:12 24 0
2837992 장제원 유서 필적 감정은 안하나? 발명도둑잡기갤로그로 이동합니다. 00:11 27 1
2837991 JPA나 MyBatis나 걍 비슷비슷한거 같은데 맞음? [1] 프갤러(58.237) 00:09 32 0
2837990 미제 윈도우, 애플OS, 안드로이드 앱 실행화면 주기적으로 찍어서 전송중 발명도둑잡기갤로그로 이동합니다. 00:06 21 0
2837988 악질 화교분탕 182.214 [1] ㅇㅇ(39.7) 04.01 32 0
2837987 내란수괴 리죄명이 극대노한 훈훈한 사연이라네양~⭐+ [1] ♥냥덩소프트♥갤로그로 이동합니다. 04.01 39 0
2837986 나씻주준⭐+ [2] ♥냥덩소프트♥갤로그로 이동합니다. 04.01 50 0
2837985 한글은 ~! 기호때문에 오버헤드가 너무 심하다 [3] 헬마스터갤로그로 이동합니다. 04.01 54 0
2837984 팀에 프리라이더 있는데 좃같다. [2] 프갤러(122.35) 04.01 36 0
2837983 챗티씨가 분석하는 중국북한 관계가 재밋구나 [4] 헬마스터갤로그로 이동합니다. 04.01 33 0
2837982 현타오는 프붕이를 위해..빌게이츠, 인간은 일하기 위함이 아니다 [3] 프갤러(121.145) 04.01 40 0
2837981 나님 드뎌 마감했당 but ♥냥덩소프트♥갤로그로 이동합니다. 04.01 18 0
2837980 장제원이 진짜 개듣보였구나 [1] 헬마스터갤로그로 이동합니다. 04.01 52 0
2837979 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩소프트♥갤로그로 이동합니다. 04.01 35 0
2837978 그만 생각하고싶다... 걱정만 하다 버린 세월이 얼마야... [1] ㅇㅇ(223.38) 04.01 23 0
2837977 야 ㅆㅂ 제미나이 2.5 써본 모바일 개발자 있냐? 나 지금 손 떨린다 [3] 프갤러(222.113) 04.01 45 0
2837976 앞으로 내란당 안찍을건데 [3] 헬마스터갤로그로 이동합니다. 04.01 48 0
2837975 아스카 분위기 있게 술 마시는 중 ㅇㅅㅇ [2] 아스카영원히사랑해갤로그로 이동합니다. 04.01 46 0
2837973 해외 코딩 유튜버 추천부탁드립니다. ㅈㅁ(222.100) 04.01 16 0
2837972 멜롱퀸 걸그룹들의 특이점 ㅇㅇ(39.7) 04.01 26 0
2837971 슬슬 졸리넹.. ♥냥덩소프트♥갤로그로 이동합니다. 04.01 29 0
2837970 네이버페이부동산이란 네이밍이 웃기지않냐? [6] 헬마스터갤로그로 이동합니다. 04.01 50 0
2837969 한달 만에 만든 게임 [4] 프갤러(49.165) 04.01 60 0
2837968 3차 썰재업) 화교분탕들 중엔 직업적 바이럴꾼도 숨어있음 ㅇㅇ(39.7) 04.01 22 0
2837966 계엄군 케이블타이로 '기자 포박', 국회 CCTV에 잡혔다 발명도둑잡기갤로그로 이동합니다. 04.01 25 0
2837965 근데 신입이어도 보도방 1년 버티면 그것도 대단한거 아님 ㅇㅅㅇ? 강유현갤로그로 이동합니다. 04.01 33 0
뉴스 ‘폭싹’ 박해준 “임상춘 작가, 실제론 작품 깊이보다 의외” [인터뷰④] 디시트렌드 04.01
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2