본문 바로가기
Blog/미디어

실용주의 프로그래머 TIP 3/4

by NAMP 2016. 10. 9.

실용주의 프로그래머 TIP 3/4

37. 통합하지 말고 설정하라.

애플리케이션에서 기술 선택을 설정 옵션으로 구현하고, 통합하거나 만들어 넣지 말라.

38. 코드에는 추상화를, 메타데이터에는 세부 내용을

프로그램은 최대한 일반화해서 만들고, 세부사항들은 가능하면 컴파일된 코드 기반 바깥으로 빼라.

39. 작업흐름 분석을 통해 동시성을 개선하라.

사용자의 작업흐름이 허용하는 동시성을 최대한 활용하라.

40. 서비스를 사용해서 설계하라.

서비스, 곧 잘 정의되고 일관성 있는 인터페이스를 통해 의사소통하는 독립적이고 동시성 있는 객체들의 관점에서 설계하라.

41. 언제나 동시성을 고려해 설계하라.

동시성이 가능하도록 설계하면, 더 적은 가정만 내리고서도 더 깔끔한 설계를 할 수 있다.

42. 모델에서 뷰를 분리하라.

애플리케이션을 모델과 뷰의 관점으로 설계해서 적은 비용만 들이고도 유연함을 얻어내라.

43. 칠판을 사용해 작업흐름을 조율하라.

참여하는 요소들의 독립성(independence)과 고립성(isolation)을 유지하면서도 개별적인 사실과 에이전트를 잘 조율하려면 칠판을 사용하라.

44. 우연에 맡기는 프로그래밍을 하지 말라.

정말 믿을 만한 것만 믿어야 한다. 우발적인 복잡함을 조심하고, 우연한 행운을 목적의식을 가지고 만든 계획과 착각하지 말라.

45. 여러분의 알고리즘의 차수를 추정하라.

코드를 작성하기 전에, 실행 시간이 대략 얼마나 걸릴지 감을 잡아 놓아라.

46. 여러분의 추정을 테스트하라.

알고리즘의 수학적 분석이 모든 것을 다 알려주지는 않는다. 실제 대상 환경에서 코드의 수행 시간을 측정해보라.

47. 일찍 리팩터링하고, 자주 리팩터링하라.

정원의 잡초를 뽑고 식물 배치를 조정하는 것과 똑같이, 코드도 필요할 때면 언제라도 다시 작성하고 다시 작업하고 다시 아키텍처를 만들라. 문제의 근원을 해결하라.

48. 테스트를 염두에 두고 설계하라.

코드를 한 줄이라도 쓰기 전에 테스팅에 대해 생각하기 시작해야 한다.

49. 소프트웨어를 테스트하라. 그렇지 않으면 사용자가 테스트하게 될 것이다.

가차 없이 테스트하라. 사용자가 여러분을 위해 버그를 찾게 만들지 말라.

50. 자신이 이해하지 못하는, 마법사가 만들어준 코드는 사용하지 말라.

마법사는 엄청난 양의 코드를 만들 수 있다. 그것들은 프로젝트에 통합해 넣기 전에 그 코드 내용을 전부 이해하는지 확실 해놓도록 하라.

51. 요구사항을 수집하지 말고 채굴하라.

요구사항이 지면에 놓여져 있는 경우는 퍽 드물다. 보통은 가정과 오해, 정치의 지층들 속 싶이 묻혀 있다.

52. 사용자처럼 생각하기 위해 사용자와 함께 일하라.

시스템이 정말로 어떻게 사용될지 통찰력을 얻을 수 있는 가장 좋은 방법이다.

53. 구체적인 것보다 추상적인 것이 더 오래간다.

구현 말고 추상에 투자하라. 추상은 서로 다른 구현이나 새로운 기술의 출현 때문에 빗발치듯 생기는 변화를 견뎌내고 살아남을 수 있다.

54. 프로젝트 용어사전을 사용하라.

프로젝트에서 쓰이는 특정 용어와 어휘들의 유일한 출처를 만들고 유지하라.

'Blog > 미디어' 카테고리의 다른 글

알기쉬운 SW 공학배우기  (0) 2016.10.18
실용주의 프로그래머 TIP 4/4  (0) 2016.10.10
실용주의 프로그래머 TIP 2/4  (0) 2016.10.08
실용주의 프로그래머 TIP 1/4  (0) 2016.10.07
실용주의 프로그래머들의 특징  (0) 2016.10.05

댓글