[Mythical Man-Month] Chapter 2. The Mythical Man-Month
많은 수의 software project는 일정 상의 문제로 실패한다. 왜 이런 문제가 발생하는 것인가? 그 원인을 분석해보면 다음과 같이 정리할 수 있다. estimatimg technique이 충분히 발달하지 못하였다. estimating technique은 effort와 progress를 혼동하며, men과 month가 교환 가능하다고...
많은 수의 software project는 일정 상의 문제로 실패한다. 왜 이런 문제가 발생하는 것인가? 그 원인을 분석해보면 다음과 같이 정리할 수 있다. estimatimg technique이 충분히 발달하지 못하였다. estimating technique은 effort와 progress를 혼동하며, men과 month가 교환 가능하다고...
Class Organization Standard Java convention에 따르면, class는 다음과 같은 순서로 구성된다. list of variables: public static constant가 먼저 선언되고 private static variable이 선언된다 public functions private utilities...
Chapter에 들어가기에 앞서 Agile과 TDD의 개념을 먼저 정리하고자 한다. Agile 날렵한, 민첩한(=nimble) 2. (생각이) 재빠른, 기민한 사전적 의미에서 알 수 있듯, agile은 짧은 주기의 계획을 통해 하나의 큰 프로젝트를 완성해 나가는 과정을 말한다. Agile을 성공적으로 실행하기 위해서는 동료간의...
Comment의 존재는 필요악이라고 할 수 있다. 만약 우리가 적절하게 프로그래밍 언어를 사용하여 의미가 통하는 코드를 짠다면, comment는 필요없기 때문이다. 강조하건데, comment는 가능한 사용하지 않는 편이 최선이다. Comment에 대한 평이 이렇게 박한 이유는, comment는 늘 코드를 잘 설명하지 못하기 때문이다. 처음 코드를 ...
초기 프로그래밍에서는 routines나 subroutines의 개념을 사용하여 system을 구성하였다. 이후 programs, subprograms, functions의 개념이 나타났고, 이들 중 function만이 현재 살아남아 사용되고 있다. 함수를 잘 사용하면 코드를 보다 이해하기 쉽게 해주고, 의도를 직관적으로 이해할 수 있게 해준다. 그렇...
Use Intention-Revealing Names 직관적인 naming은 상당히 중요하다. Variable이나 function, class 등의 이름은 왜 그것들이 존재하고 어떻게 사용될 수 있는지를 드러낼 수 있어야 한다. 예를 들어 개수를 저장하는 변수에 대해 a와 같은 의미 없는 문자가 아니라 num, number, count와 같이 변수명...
There Will Be Code 우리는 code를 왜 작성하는가. Code는 어떠한 요구나 목적을 달성하기 위한 언어이고, 철저하고 엄격하며 정확하다는 특징을 가진다. Bad Code Bad code는 코드를 짜는 순간에는 시간을 단축시키고 고민을 덜 할 수 있지만, 결과적으로 유지보수에 영향을 준다. Bad code에 의해 무언가 지연되는 것을 ...
왜 Clean Code를 공부하는가? 늘 Clean Code를 읽어봐야 겠다는 생각을 하고 있기는 했지만, 2022학년도 가을학기 SD(소프트웨어디자인) 수업을 수강하게 되면서 반의 자의로, 반은 타의로 책을 펼치게 되었다. 책을 완독한 후의 후기는 다를 수도 있겠지만 읽기 전의 느낌은 과연 내가 이 책을 읽고 나서 얼마나 변화할 수 있을지 기대된다...
How To Use Marp Markdown의 장점? :thinking: 빠르게 편집이 가능하다 / 직관적이다 / 활용도가 높다 / 편하다(?) Before use Marp: TODOs Markdown 문법 익히기 vscode에 Marp for VS Code extension 설치하기 Marp 문법 익히기 (선택 1) ...
WordPress를 사용하는 이유 php