본문 바로가기

CS/Code Complete5

Chapter 23. Debugging(디버깅) Debugging? => 오류의 근본 원인을 식별하고 이를 수정하는 과정 오류를 처음 탐지하는 과정인 테스트와는 다른 거임. OK?일부 프로젝트에서는 디버깅이 전체 개발 시간의 50%를 차지하기도 함.=> 보통 사소한 실수, 오타로 발생 23.1 Overview of Debugging Issues (디버깅 문제 개요)  Role of Debugging in Software Quality (디버깅의 소프트웨어 품질에서의 역할)디버깅은 테스트처럼 소프트웨어의 품질을 향상시키는 방법이 아니라 결함을 진단하는 방법=> 디버깅 하는 일 없도록 해라=> 어떻게? 요구사항을 신중하게 개발하고, 잘 설계하고, 고품질의 코딩 관행을 사용해서디버깅은 마지막 수단이어야 한다.  Defects as Opportunities .. 2025. 2. 23.
chpater 18. Table-Driven Methods 테이블 기반 기법(Table-Driven Method) 기본 개념:if-else 또는 switch-case 문을 사용하는 대신, 테이블에서 미리 정의된 값을 조회하여 결과를 도출하는 방식 테이블을 사용하면 복잡한 의사 결정 로직을 단순화할 수 있어 코드의 가독성, 유지보수성, 확장성이 향상 됨간단한 경우는 if 문이나 case 문이 더 깔끔  18.1 테이블 기반 기법 사용에 대한 일반적인 고려 사항 조건문이 복잡하게 사용될 경우 테이블 기반 접근법으로 단순화 할 수 있음.// 조건문을 사용할 경우if ( ( ( 'a'  장점 : 복잡한 조건문을 줄여 효율적인 데이터 조회 방식을 가능하게 함1. 코드가 짧아짐2. 수정 용이 => 새로운 문자 추가할 때 테이블만 변경하면 됨  테이블 기반 기법 사용 시 고.. 2025. 2. 16.
Chapter 10 : General Issue in Using Variables 이 장에서는 "변수"라는 단어를 객체뿐만 아니라 정수나 배열과 같은 기본 데이터 타입을 포함하는 개념으로 사용한다. "데이터 타입"은 일반적으로 기본 데이터 타입을 의미하며, "데이터"는 객체나 기본 타입 모두를 포함하는 개념이다.10.1 Data Literacy 효과적으로 데이터를 만들기 위해서는 어떤 종류의 데이터를 생성할지 파악하는 것임그렇기에 다양한 데이터 타입을 이해하는 게 중요함.10.2 Making Variable Declarations Easy 암시적 선언 -> 일부 언어에서는 변수를 명시적으로 선언하지 않아도 자동으로 됨.이는 변수 이름이 유사하면 실수로 다른 변수를 사용할 수 있는 위험한 기능임. 1. 암시적 선언 기능을 끄기2. 모든 변수를 명시적으로 선언하기3. 일관된 네이밍 규칙 .. 2025. 2. 2.
part2-chapter 6, 7 ▣ 6장: 클래스 다루기 - Working Classes  프로그래머의 관점70, 80 년대 : 루틴 => 21세기 : 클래스 유능한 프로그래머가 되기 위해서는 작업하는 동안 안전한 부분을 최대한으로 늘리는 것이다. 클래스는 이러한 목표를 이루기 위한 기본 도구 클래스란?응집력있고 잘 정의되어 있는 데이터 및 루틴의 모음. 6.1 클래스의 토대: 추상 데이터형(ADT) 추상 데이터(ADT)란?데이터와 해당 데이터에 대해 작동하는 연산의 모음 ADT의 필요성데이터 멤버를 직접 조작해야 하므로 유지보수성이 낮고 재사용성이 떨어짐.프로그램 내에서 비슷한 코드를 반복적으로 작성해야 하므로 효율성 저하.ADT의 장점1. 구현 세부사항을 감출 수 있음데이터 타입 변경 시 프로그램 전체를 수정할 필요 없이 ADT 내.. 2025. 1. 12.
Code Complete part 01 Chapter 03 - Measure Twice, Cut Once: Upstream Prerequisites 설계도가 중요한 이유 : 건물을 짓는 도중에 문제가 발생하면 건물을 처음부터 다시 지어야 할 수도 있고, 생각하지 못한 일정이 추가가 됩니다. 이 모든 것은 돈입니다. Chapter 03는 소프트웨어 구축을 준비하기 위해 수행해야하는 작업을 설명하고 있습니다. Measure Twice, Cut Once 라는 말은 번역하면 "두 번 측정하고, 한 번 자르세요" 라는 목수들의 용어입니다. 그만큼 실행에 옮기기 전에 잘 준비하라는 겁니다. 왜냐 다시하면 비싸니까 3.1 Importance of Prerequisites(전제 조건의 중요성) 준비의 가장 중요한 목표는 위험을 줄이는 것 가장 일반적인 프로젝트 위험은 부실한 요구 사항과 부실한 프로젝트 계획이므로준비는 요구 사항 및 프로젝트 계획을 개선하는데 중점.. 2024. 12. 27.