Contents
use data to make logic simple
- make DSL
- do not mix logic and data construction
Proverbs
Philosophy, Viewpoint, Programmer
책
last 5% automation
craft, not science
SoftwareArchitecture. AOSA prefaces.
The Eisenhower Matrix
Make it work, then make it better.
problem space, solution space
...
Philosophy, Viewpoint, Programmer: Advanced
programming is to make a language system. make vocabulary. take a look at Peter Norvig's code (pattern language, lisp hackers)
- SICP
- 패턴, 위키, 그리고 XP
Programming fundamental
공통점과 차이점 찾기. 공통점을 공유하고, 차이점을 처리할 수 있는 기법을 습득한다. (OOP 다형성, 고차함수 등)
책
- Refactoring 2/E
- Kent Beck, Implementation Patterns
- Robert Martin, Agile Software Development
TDD, Baby step, Evolutionary Design
Baby Step
quickly step back to closest green-bar when you see red bar
TDD is a design activity (DbC: Design by Coding)
short feedback cycle (loop)
bowling kata by robert martin
micro commit, one at a time
isolation
책
- Kent Beck, Test Driven Development
- Specification by Examples
Testing & Debugging
eliminate/reduce intermediate layers
regression test
Here and now. recognize what's going on, inpect it, find root cause, and fix it. Don't wandering aroud web pages mindlessly.
Collaboration
take a look at extreme programming, not scrum, if you are a software developer. it includes a lot of effective technical principles.
pair programming: perform outstanding with other juniors
pull request anti pattern: Kent's twit. Those pesky pull request reviews. PR과 코드리뷰.
책
- Kent Beck, Extreme Programming Explained
Learning, Expertise
To learn well from experts (CTA, CDE)
- 실용주의 사고와 학습
See Also: 프로그래밍 추천 도서