관리 메뉴

엘키의 주절 주절

실용주의 프로그래머 본문

Software Engineering/Develop Theory

실용주의 프로그래머

엘키 엘키 2015.08.21 13:01

명언

가장 큰 약점은 약점을 보일 것에 대한 두려움이다 - 보쉬에우리는 종종 뭔가 나아지게 하려다가 괜찮은 것 마저 망친다 - 리어왕


지식에 대한 투자가 언제나 최고의 이윤을 낸다 - 벤자민 프랭클린

당신이 가진 생각이 딱 하나밖에 없다면 그것만큼 위험한 것은 없다 - 에밀 사르티에

언어의 한계가 곧 자기 세계의 한계다 - 루트비히 비트겐슈타인

진보라는 것은 변화와는 거리가 멀고 오히려 기억에 의존한다. 과거를 기억하지 못하는 사람은 과거를 반복할 운명이다 - 조지 산타야나

참으로 고통스러운 일입니다. 자신이 겪는 어려움을 보고는 알게 되죠. 다른 누가 만든 게 아니고 바로 자신이 문제를 만들었다는 걸. 소포클래스(아이아스)

상식과 정직만큼 사람을 놀라게 하는 것은 없다 - 랄프 왈도 에머슨

자기 비난에는 사치성이 있다. 우리가 자신을 비난할때, 다른 사람은 우리를 비난할 권리가 없다고 우리는 느낀다. - 오스카 와일드

좋은 울타리는 좋은 이웃을 만든다 - 로버트 프로스트

아무리 뛰어난 천재라도 세부사항에 집착하면 그 재능이 발휘되지 않는 법이다 - 레바의 8번째 법칙

주변을 둘러보니 변화와 쇠퇴뿐 - 라이트 “함께 하소서”

완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 뺄 것이 없을 때 얻게 되는 것이다. - 생텍쥐페리

가끔은 망설이는 자가 재난을 모면한다 - 제임스 써버

생각없이 행할 수 있는 중요한 작업의 수가 늘어남에 따라 문명은 발전한다. - 알프레드 노스 화이트헤드

아무리 흐른 먹물이라도 가장 훌륭한 기억력보다 낫다 - 중국속담

Tip
자신의 기술에 관심과 애정을 가져라

자신의 일에 대해서 생각하면서 일하라

어설픈 변명을 만들지 말고 대안을 제시하라

깨진 창문을 내버려두지 말라

변화의 촉매가 되라

큰 그림을 기억하라

품질을 요구사항으로 만들어라

지식 포트폴리오에 주기적으로 투자하라

읽고 듣는 것을 비판적으로 분석하라

무엇을 말하는가와 어떻게 말하는가 모두 중요하다

DRY(Don’t Repeat Yourself) - 반복하지 마라

재사용하기 쉽게 만들어라

관련 없는 것들 간에 서로 영향이 없도록 하라

최종 결정이란 없다 (불변하는 결정은 없다)

목표물을 찾기 위해 예광탄을 써라(지금 무엇을 얼마만큼 하고 있는지를 확인하라)

프로토타입을 통해 학습하라

문제 도메인에 가깝게 프로그래밍하라

추정을 통해 놀람을 피하라

코드와 함께 일정도 반복하며 조정하라

지식을 일반 텍스트로 저장하라

명령어 셀의 힘을 사용하라

하나의 에디터를 잘 사용하라

언제나 소스코드 관리 시스템을 사용하라

비난 대신 문제를 해결하라

디버깅을 할 때 당황하지 마라

“Select”는 망가지지 않았다. (컴퓨터는 고장나지 않는다. 내가 코드를 잘못짠거다)

가정하지 마라. 증명하라

텍스트 처리 언어를 하나 익혀라

코드를 작성하는 코드를 작성하라

완벽한 소프트웨어는 만들 수 없다

계약에 따른 설계를 하라

일찍 작동을 멈추게 하라 (문제가 있을 때)

단정문을 사용해서 불가능한 상황을 예방하라

예외는 예외적인 문제에 사용하라

시작한 것은 끝내라

모듈간의 결합도를 최소화하라

통합하지말고 설정하라 (Config 기능을 따루 둬라. 코드에 상수를 박아넣지 마라)

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

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

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

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

모델에서 뷰를 분리하라

칠판(개별 컴포넌트들이 모두 참조할 수 있는 공용 메모리공간)을 사용해 작업흐름을 조율하라

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

여러분의 알고리즘 차수를 조율하라 (알고리즘의 대략적인 소요 시간을 예측하라)

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

일찍 리펙터링하고, 자주 리펙터링하라

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

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

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

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

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

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

프로젝트 용어사전을 사용하라 (팀원들 간에 공통의 용어를 사용할 수 있도록 하라 - 의사소통의 효율을 위해)

생각의 틀을 벗어나지 말고, 틀을 찾아라

준비가 되었을 때 시작하라

어떤 일들은 설명하기보다 실제로 하는 것이 더 쉽다

형식적 방법의 노예가 되지 마라

비싼 도구가 더 좋은 설계를 낳지는 않는다

팀을 기능 중심으로 조직하라

수작업 절차를 사용하지 말라

일찍 테스트하고, 자주 테스트하라. 자동으로 테스트하라

모든 테스트를 통과하기 전엔 코딩이 다 끝난 것이 아니다

파괴자(고의로 만들어놓은 버그)를 써서 테스트를 테스트하라

코드 커버리지보다 상태 커버리지를 테스트하라 (테스트 할때, 개별 코드에 빠지지 말고 전체적인 맥락을 놓치지마라)

버그는 한번만 잡아라 (같은 버그가 계속 나와서는 안된다)

한국어도 하나의 프로그래밍 언어인것 처럼 다뤄라 (문서를 작성할때도 코드를 쓰는 것처럼)

문서가 애초부터 전체의 일부가 되게 하라. 나중에 집어넣으려고 하지 마라

사용자의 기대를 부드럽게 넘어서라 (사용자의 기대를 제대로 이해하고, 그것보다 약간 더 좋게 만들면 좋아한다)

자신의 작품에 서명하라 (스스로에게 부끄럽지 않은 코드를 만들어라)


0 Comments
댓글쓰기 폼