디시인사이드 갤러리

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

갤러리 본문 영역

개념글 코딩 모범 에 관한 코세 코멘터리. 3

codesafer갤로그로 이동합니다. 2016.10.13 22:26:06
조회 35891 추천 6 댓글 2

컴파일러의 최적화 기능을 활용하세요.

-> 코드를 무리하게 최적화하지 말라는 이야깁니다.

-> 반대로, 환경변수나 #define, constexpr 처럼 순수 상수 조건은

-> 시스템 환경에 맞춰 기각되니 if 문 같은걸로 표현해도 컴파일시 걸러져서 좋습니다.

-> 최적화를 위해 상수 기각조건 코드는 적극적으로 활용하란 소립니다.

-> 대신 디버깅 모드에선 모조리 코드에 포함되어 코드 캐시 효율이 떨어지긴 합니다.


재사용만이 함수화의 장점이 아니랍니다.

-> 의미의 직관적 전달이 가져오는 효율은 모든 개발사이클에서 빛을 발합니다.

-> 관리 포인트를 한 군데 집중시켜주는 효과도 있습니다.


기본 자료형을 최소한으로 만들어 주세요.

-> 기본 자료형이란 보다 더 추상적인 자료형이란 겁니다.

-> 그 말은 의미가 모호하단 소리죠.

-> 하지만 별다른 기능 추가 꺼리도 없는데 미리 손품 파는건 귀찮으니 패스.

-> 기본 자료형은 반드시 클래스나 구조체로 바꿔야만 하는건 아닙니다.

-> getter 와 setter 형태의 함수로도 정의할 수 있는 것이죠.

-> 즉 기본자료형의 역할은 자료형 + 기본 연산자( 함수적 기능 ) 이 포함된 개념입니다.

-> 자료형도 함수화든 객체화든 마음껏 변화시킬 수 있습니다.

-> 추가적으로 만약 우리가 8비트 데이타를 이미지의 샘플로 주로 활용하는 경우라면,

-> char 이렇게 선언해 쓰는것 보다 using PIXEL = char; 처럼 사용하는게,

-> 그걸 가져다 쓴 함수와 객체 안에서 명시적인 의미전달을 하게 됩니다.


컨테이너 조작을 위한 전용 클래스를 만들어 사용하세요.

-> 자주 쓰이는데 맨날 코드로 늘어뜨려 다니느니 컨테이너는 항상 구조화 하는게 낫습니다.


변수를 클래스화해서 의도를 명확하게 전달해주세요.

-> 다 했던 이야기.


변수를 클래스화해서 제한을 해주세요.

-> 제한이 필요하다면 물론.

-> 우리는 해당 변수의 전체 표현영역( dynamic range )을 필요로하지 않는 경우가 많습니다.

-> 오류 검사나, clamper 가 필요할 수 있죠.


부분을 작게 만들면 전체가 작아져요.

-> 최소공배수를 구할 때 사용하는 소인수분해랑 같은 이치입니다. ( GCD 구하면 땡이지만 )

-> 보통의 코드는 걍 공배수죠. 소인수분해를 해 보면 중복이 제거되고 최소공배수라는

-> 멋진 코드가 만들어집니다.


getter와 setter를 되도록 사용하지 마세요.

-> 이건 반은 맞고 반은 틀린 이야기

-> 클래스 내부가 뻥튀기되어 너저분해지는 단점이 있고,

-> getter 와 setter 를 연산자 오버로딩 등

-> 더 편한 방법으로 관리할 수 있는 경우가 있습니다.

-> 무분별한 사용을 하지 말라는 이야깁니다.


부모 자식 관계라도 private를 사용해주세요.

-> 은닉화는 모든 문제를 심플해보이게 해 줍니다. 숨길 수 있는건 최대한 숨겨야죠.


클래스의 멤버 변수는 최소한으로 만들어주세요.

-> 어떤 항목의 열거도 8개를 넘어가면 가독성이 떨어집니다.

-> 그 말은 필요시 클래스를 나누라는 이야기가 됩니다.

-> 상속도 좋은 예죠. 함수의 파라메터 이야기랑 같은 이야기.


소결합 클래스로 설계해주세요.

-> 결합점이 클수록 재사용성은 떨어집니다. 또한 수정이 아주 힘들어지고,

-> 독립작업이 힘들어 집니다.

-> 최소접점을 유지해주세요.


상속보다는 이양을 우선해주세요

-> 이거 뭐 국어가 힘드네 이양? is 냐 has 냐 이야기 하는거겠죠?

-> 상속의 구조를 끌고가는게 유리한 경우와 단순히 멤버로 가지고

-> 가져다 쓰는게 유리한 경우가 있습니다.

-> 경험이 꽤 필요합니다. 상속은 그만큼 컨트롤이 힘들기 때문에

-> 집에 일꾼 필요하다고 애새끼 주렁 주렁 낳는건 피곤한 일입니다. 특히 호적, 족보 관리.

-> 필요할 때 고용하세요!


상속과 추상 인터페이스 구현을 구별해주세요.

-> 언어마다 좀 다른 이야기인데, 약간 Java 관점?

-> 물론 구별은 해야쥬. 그래서 순수 가상함수가 존재하는것 아니겠음?


하나의 클래스에 하나의 책임만 맡겨주세요.

-> 중언부언


변하지 않는 부분과 변하는 부분을 구분해서 설계해주세요.

-> 정말 중요함유~ 개방과 폐쇄 원칙의 기본.

추천 비추천

6

고정닉 0

9

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47939 65
2896540 자동 로그인이 되는 남자 모니터 세션에 따라 드라이버 쇼트가 키 열거형 넥도리아2024(220.74) 07:27 4 0
2896539 생각해보니 앱히키.. 캄보디아 간거 아녀??? 프갤러(39.7) 07:24 4 0
2896538 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 07:23 3 0
2896537 Make Korea Great Again ! ♥덩냥이♥갤로그로 이동합니다. 07:11 9 0
2896536 강간 성범죄자 엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ(118.235) 06:02 26 0
2896535 그냥 써야되지 근데 컵에다가 케찹 스파게티 끓여서 넣으니 맛있네... 넥도리아(220.74) 05:52 25 0
2896534 모모 닮은듯? ♥덩냥이♥갤로그로 이동합니다. 04:34 16 0
2896533 에로미온느 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 04:24 22 0
2896532 여름모기보다 가을모기가 쌔.. 쌔당 ! ♥덩냥이♥갤로그로 이동합니다. 04:22 17 0
2896531 요즘 모기는 물리면 시간차 공격들어오는듯? ♥덩냥이♥갤로그로 이동합니다. 04:12 32 0
2896530 가을 모기 왤케 쎄냥.. ♥덩냥이♥갤로그로 이동합니다. 04:07 16 0
2896528 먼가 플머의 행동습성중에 수집본능이 있는거같지 않음? 공기역학갤로그로 이동합니다. 03:49 18 0
2896526 심리공작원같아서 댓글 다니 삭제된 글 발명도둑잡기(118.216) 03:46 37 0
2896524 음기 충전 발명도둑잡기(118.216) 03:25 34 0
2896520 화폐 발행의 독점적 성격에 대해 명시한 연구 발명도둑잡기(118.216) 03:05 21 0
2896519 외노자의 수제번역, あたらよ - 10月は無口な君を忘れる。 프로외노자갤로그로 이동합니다. 02:54 19 0
2896518 외노자의 수제번역, やなぎなぎ - 約束をしよう 프로외노자갤로그로 이동합니다. 02:54 20 0
2896516 외노자의 수제번역, 貴方の夜が明けるまで [1] 프로외노자갤로그로 이동합니다. 02:43 17 0
2896515 입법부가 행정부, 사법부 부패 감시하는 것은 고유임무이자 권한 발명도둑잡기(118.216) 02:13 11 0
2896512 수년 전에 역학 갤러리 모니터링 할 때 내가 관심있던 여성 [2] 발명도둑잡기(118.216) 01:56 28 0
2896511 진보당과 당 근처에 경기동부연합이란 조직이 아예 없는데 언론이 [1] 발명도둑잡기(118.216) 01:49 24 0
2896510 AI 뭔가 항상 느끼지만 애니메이션 로직은 영 구현 못하네 [1] ㅆㅇㅆ(124.216) 01:44 25 0
2896509 Ada에서의 객체(Object)란 무엇인가? 나르시갤로그로 이동합니다. 01:37 24 0
2896508 MS 보안 빡세네... 이거 핸드폰 못 팔겠네.... ㅠㅠㅠ 넥도리아2025(220.74) 01:33 25 0
2896500 캄보디아 대포통장 살인사건은 은행 책임도 있다 발명도둑잡기(118.216) 01:18 22 0
2896488 후스넘버 허위 내리는법 (106.102) 00:56 34 0
2896485 캄보디아 이거 진짜 무섭네 [4] 노력갤로그로 이동합니다. 00:54 72 0
2896484 ( ㅇ ㅅ ㅇ )a [1] 노력갤로그로 이동합니다. 00:54 52 0
2896483 냥덩아 발명도둑잡기(118.216) 00:53 20 0
2896482 지듣노 발명도둑잡기(118.216) 00:44 14 0
2896480 나르시 에이다 빠는거 보니까 예전에 클로저 빠는 아재 있었는데 [1] 박민준갤로그로 이동합니다. 00:35 42 0
2896478 패턴 매칭(Rust) vs. 직접 접근(Ada): 공정한 비교 나르시갤로그로 이동합니다. 00:30 17 0
2896477 제미니의 편향: Ada는 상대적으로 복잡한 것처럼 서술했네 ㅎㅎ 나르시갤로그로 이동합니다. 00:29 18 0
2896475 현시대는 토발즈도 1찍 짱깨편인 무서운 시대이다ㅋㅋ번식 더 해줘라 이기 타이밍뒷.통수한방(1.213) 00:28 14 0
2896473 인터넷에서 싸우지 마라 [2] 박민준갤로그로 이동합니다. 00:26 51 0
2896472 "대통령님, '소비쿠폰' 저도 할 말 있습니다" 발명도둑잡기(118.216) 00:26 25 0
2896471 제미니의 러스트 편향성: Addr.Addr_V4'Image 이거 아니잖 나르시갤로그로 이동합니다. 00:25 20 0
2896469 와.. 일본은 브라질 이겻넹 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 00:23 23 0
2896468 이재명 "홍석천도 폐업..자영업자 임대료 감면에 정부 나서 달라" 발명도둑잡기(118.216) 00:21 16 0
2896467 Rust 의 Result 가 대체 왜 편하다는 것??? 나르시갤로그로 이동합니다. 00:14 16 0
2896465 제미니마저 Rust에 편향되게 설명하네. ㅎㅎ 나르시갤로그로 이동합니다. 00:12 21 0
2896464 요즘 컴공은 next.js도 가르침? [4] ㅇㅇ(211.196) 00:08 62 0
2896463 멍유야 이것만 알아둬 [2] ♥덩냥이♥갤로그로 이동합니다. 00:04 38 0
2896460 Ada와 Rust 비교: 자료구조, 분기, 오류 처리 철학 [1] 나르시갤로그로 이동합니다. 10.14 30 0
2896458 [공지] 멍퀴벌레 신상 제보 받습니다 현상금 있음 ♥덩냥이♥갤로그로 이동합니다. 10.14 22 0
2896456 최근 영화 <추적>을 발표한 최승호 감독이 발명도둑잡기(118.216) 10.14 14 0
2896446 멍퀴벌레는 21세기 홍길동이당 By 나님 [4] ♥덩냥이♥갤로그로 이동합니다. 10.14 46 0
2896445 Ada 프로그래밍: 열거형과 선택 구조, 그리고 예외 처리 나르시갤로그로 이동합니다. 10.14 21 0
2896442 Ada 프로그래밍: 3.5 주석 (Comment) 나르시갤로그로 이동합니다. 10.14 12 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2