.용어해설정적 분석[ static analysis , 靜的分析 ]출처 IT용어사전 | 정적 분석어떤 프로그램을 분석할 때 그 프로그램을 실행시키지 않고 그 자체를 분석하는 것. 프로그램에 내재한 논리적 오류는 보통 프로그램을 실행하여 확인하지 않으면 찾기가 힘들지만, 정적 분석은 이러한 오류를 찾아내는 데 도움을 줄 수 있다.외국어 표기 static analysis(영어), 靜的分析(한자)출처 컴퓨터인터넷IT용어대사전 | 정적 분석프로그램을 실행시키지 않고 프로그램을 평가하는 분석.외국어 표기 static analysis(영어)[네이버 지식백과] 정적 분석 [static analysis, 靜的分析] (용어해설) Klocwork는 정적분석을 도와주는 도구로서 코드상에 잠재된 에러에 대한 원인과 해결책을 제..
. 대학교에서는 테스트에 대해 많은 걸 다루지 않는다.소프트웨어공학 시간에 단위테스트, 통합, 시스템, 화이트박스, 블랙박스 등 간단하게 넘어갔던 걸로 기억한다. (아닌가?) 아무튼 학부시절에 실제 로직을 작성하는 시간은 극히 짧았고, 문서작성 등의 코딩 외의 일과, 디버깅에 가장 많은 시간을 할애했었다.책에서의 예처럼 테스트를 작성했다면 몇분 이내에 찾고 해결할 문제들을 몇 시간, 몇 일을 고생한 경험이 한 두번이 아니었다. 거기다 Junit과 같은 프레임워크의 도움을 받아 자동화된 테스트를 작성했다면 고통을 더 줄일 수 있었을텐데..(그러나 이러한 경험으로 테스트의 중요성을 더 느낄 수 있지 않나 싶기도 하다).. 리팩토링을 하기 위해서는 테스트가 미리 작성되어 있어야한다. 테스트라는 안전 장치 없이..
. 16. 과잉 중개 메소드(Middle Man) - 내부의 세부적인 처리를 외부에서 볼 수 없게 은폐하는 캡슐화는 객체지향의 주요 특징 중 하나다.- 어떤 작업을 중개(위임)해서 처리하는 메소드는 변경에 강하고 유지보수에 도움이 된다.- 그러나 이것도 지나치면 문제가 된다고 하니, 어느정도는 직접 접근하자.- 실제 구현 코드가 너무 가려져 있으면 오히려 가독성을 떨어트리게 되는 건가보다... 17. 지나친 관여(Inappropriate Intimacy) - 클래스끼리 지나치게 깊게 연결된 경우를 말한다.- 공통 필요 부분을 클래스로 빼거나 중개 메소드를 만드는 등으로 의존성을 줄인다... 18. 인터페이스가 다른 대용 클래스(Alternative Classes with Different Interfac..
. 7. 잘못된 소속(Feature Envy) - 먼저 객체는 데이터(필드)와 그 데이터에 사용되는 프로세스(메소드)를 한 데 묶는 기술이 핵심이다.- 어떤 메소드가 자신이 속하지 않은 클래스에 더 많이 접근한다면 잘못된 소속의 구린내가 풍길 것이다.- 이 때는 더 많이 호출되는 클래스로 메소드르 옮기자.- 메소드의 일부분만 그렇다면 메소드를 추출하여 적절한 클래스로 이동 조치한다... 8. 데이터 뭉치(Data Clumps) - 데이터 항목은 거리의 꼬마들처럼 몰려다니는 습성이 있다. - 이렇게 몰려 있는 데이터 뭉치는 객체로 만들어야 한다.- 음.. 와닿지는 않지만, 확실히 클래스로 추출한다면 코드가 가벼워질 것 같다... 9. 강박적 기본 타입 사용(Primitive Obsession) - 객체를 ..
. 리팩토링의 중요성과 효과는 인정하겠는데 대체 언제 리팩토링 해야하지?? 소프트웨어는 과학이 아니라 공학이다. 아트라고도 할만큼 개발자나 기획자의 주관에 따라 쉽게 바뀌기 마련이다.리팩토링의 시점은 정확하게 정해져 있는 것은 아니다. 단지 일반적으로 어느 문제에 대해 리팩토링하는 것이 더 좋다는 가이드가 있을 뿐이다.사람의 직감이 나설 때다. 그러나 우리는 초짜 프로그래머이므로 고수들이 알려주는 패턴부터 머릿속에 집어넣자. 연습만이 살 길이다... 1. 중복코드(Duplicated Code) - 구린내의 제왕 - 중복코드를 제거하려면...- 메소드추출(Extract Method) - 메소드 상향(Pull Up Method)- 템플릿 메소드 형성(Form Template Method)- 알고리즘 전환(S..
- Total
- Today
- Yesterday
- 클래스
- db
- 메모장
- 소켓
- 게임
- 자바
- 충북대
- 이론
- ERP
- 데이터베이스
- 안드로이드
- 파이썬
- 정보
- JQuery
- SVN
- 도전과제
- 청주
- 오라클
- SQL
- 알고리즘
- 아두이노
- jsp
- 프로젝트
- 배열
- CSS
- 정렬
- 졸업작품
- 자바스크립트
- HTML
- 잡담
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |