2009-04-24 3 views
2

나는 애완 동물 프로젝트를하고 있으며, 일반적으로 22시 30 분 또는 23 시경에 개인용 컴퓨터 주변에 앉아있다. 그러나 내가 약 24시 자려고하기 때문에 코딩을 시작하지 않고 기사를 읽고 게임을 끝내지 않을 것입니다.짧은 코딩 세션을 처리하는 방법은 무엇입니까?

프로젝트가 있기 때문에 1 시간 만에 괜찮은 코드를 작성할 수 있다고 생각하지 않습니다. 꽤 크고 무작위로 또는 부주의하게 그것을 해킹하고 싶지 않습니다. 비록 내가 TDD를 사용한다고해도, 내가하고있는 대부분의 시간은 곧바로 앞으로 나아 가기 전에 많은 테스트가 필요하다.

이러한 종류의 문제에 대한 접근 방법은 무엇입니까? 충분한 시간이있을 때 나중에 코드를 작성합니까, 아니면 30 분 동안 코드를 작성하고 나중에 계속할 수있는 다른 접근 방법이 있습니까?

답변

4

나는 할 시간이 있기 전에는 일반적으로 많은 코드를 작성하지 않습니다. 그 이유는 저에게 효과적으로 집중하기 위해서는 초점을 맞추는 데 시간이 오래 걸리기 때문입니다. 아무것도 100 %의 코드 커버리지를 얻으려고 노력처럼, 그것은 당신이

  • 연구에 투자하고 있기 때문에 큰 폐기물이 아니다 : 나는 시간에 독서를 많이 지출은 그 30 분 슬롯

    • 더 많은 테스트를 작성하지 위해 중대하다 말했다 블로그, 내가 사용할 수있는 프레임 워크 또는 도구를 찾고 있습니다. 30 분의 시간 낭비 당신이 필요로하는 기능의 80 %를 수행하는 프레임 워크를 찾는 것은 그것을 코딩하는 데 많은 시간을 소비하는 것보다 훨씬 낫습니다. 이것에 대한 또 다른 요소는 프레임 워크를 구현하고 그것이 적합하지 않다는 것을 알게되면 요구 사항에 대해 더 잘 교육되어 개발이 더 원활해진다는 것을 의미합니다.
  • 1

    글쎄, 내 첫 번째 생각은 "유닛 테스트 사용"이었지만, 이미 이것을 사용하고 있다고 읽었습니다. 그러나 나는 여전히 그것이 여러분의 프로그램에 대한 해결책이라고 생각합니다.

    가능한 한 작게 테스트하고 작은 단위 테스트를 만들기 위해 "단위 테스트 당 1 assert"규칙을 사용하십시오. 30 분 분량의 세션에서 몇 가지 작은 테스트를 해결할 수 있어야합니다.

    +1

    지난 밤에 일어난 일은 막대한 변화가 필요하고 빌드를 깰 수있는 플러그인 지원을 구현하는 것이 었습니다. 짧은 세션을위한 작은 변화를 고수하고 있습니다. –

    0

    이렇게 짧은 시간으로 개발하는 것은 어렵지만 그 시간은 계속 될 수 있습니다. 단위 테스트는 하나입니다. 클래스의 인터페이스를 작성하는 것은 또 다른 것입니다. 진짜 물건을 코딩하는 데 더 많은 시간이 걸리지 만,이 작업은 본질적으로 생각할 필요가 없으며, 타이핑에 대한 연습 일뿐입니다.

    그래서 제 생각에는 생각과 집중이 필요없는 작은 작업에 초점을 맞추고 시간 경과에 따라 완료 할 수 있습니다.

    0

    절대로 나를 위해 일한 애완 동물 프로젝트는 너무 흥미 롭습니다. 밤늦게까지 또는 주말을 통해 일을 끝냅니다.

    귀하의 우선 순위를 다시 생각해 보시기 바랍니다. 이용 가능한 모든 시간이 야간에 한 시간 늦어지면 게임, 기사 등에서 그것을 보내는 것이 더 나을 것입니다. 게으른 일요일에 한 번에 시간을 보내고 실제로 애완 동물 프로젝트가 제공해야하는 것을 성취하는 감각을 얻으십시오.

    1

    다음은 시도 할 수있는 몇 가지 있습니다 :

    • 컴퓨터 근처에 앉아하지 마십시오. 대신 큰 종이를 가져 와서 조용한 곳으로 가십시오. 당신이 원하는 것을 생각하십시오. 인터페이스 아이디어, 세부 구현을 적어보십시오. 계속하기 전에 해결해야 할 질문 목록을 만드십시오.
    • 일주일에 코드를 제거하십시오.흐름 시간에 대해 유입되는 비율은 30 분 동안 너무 나쁩니다.
    • 코딩 대신 수행하는 작업에 대한 로그를 유지하십시오. 감정적 인 상태를 관찰하십시오.
    • 일찍 잠자리에 들고 애완 동물을 아침 일찍 코딩하도록하십시오.
    1

    작은 팁 (내가 작업에서 너무 많이 사용함)은 분명히 커다란 빨간색 컴파일 오류가 발생하면서 중간에 코딩을 중단하는 것입니다.

    다음에 작업을 시작하면 오류가 실제로 당신이 무엇을하고 있었는지 기억하는 데 도움이됩니다.

    작은 문제를 해결하는 동안 큰 그림이 사라지고 디자인을 계속할 수 있습니다.

    0

    는 여기에 내가 작업 이외의 개인적인 프로젝트를 수행 할 작업은 다음과 같습니다

    • 1) 나는 종이에 그것을 밖으로 계획에 의해 자신을 내 프로젝트의 좋은지도를 제공하려고합니다. 필자는 모든 객체, 데이터 구조 및/또는 SQL 테이블을 다이어그램으로 작성하고 이러한 구성 요소 간의 기본적인 기능과 상호 작용이 필요한지 여부를 결정합니다. 해결책이 분명하다면이 단계에서 실제 코드를 작성할 수도 있지만 일반적으로 그렇지 않습니다.
    • 2) 큰 그림이 제자리에 놓이면 가장 기본적이고 중요한 요소에 우선 순위를 둡니다. 또한 어떤 부분이 다른 부분보다 작성하기가 쉬울 지 파악하려고합니다.
    • 3) 우선 순위를 설정 한 후 가장 쉽고 중요한 부분을 먼저 작업하고 점차 복잡하고 덜 중요한 구성 요소로 작업을 시작합니다. 각 작업을 작은 부분으로 나누면 도움이되는 경향이 있습니다. 예를 들어 데이터베이스 테이블을 먼저 디자인하고 다음 날에 해당 테이블과의 상호 작용을 제어하는 ​​데이터 인터페이스 클래스를 만들 수 있습니다.
    • 4) 단원 테스트는 30 분의 노력으로 몇 줄의 코드 만 작성한다고해도 실제로 완성감을 느낄 수 있습니다.
    • 5) 세부 로그가 아닌 경우에도 변경 로그를 보관하십시오. 오랜 시간 동안 많은 프로젝트를 진행할 때 변경 로그가 매우 유용하다는 것을 알았습니다.

    바로 이러한 단계가 가장 도움이됩니다. 결국 나는 대략 30-60 분 내에 일반적으로 완료 될 수있는 프로젝트의 작은 덩어리를 확인할 수 있습니다. 물론 프로젝트가 개발됨에 따라 나는 계획 단계에서 벗어난 것을 발견 할 때 뭔가를 재평가하고 처음으로 돌아 가야합니다. 때로는 조금 더 멀리 가서 일정을 정한 타임 라인을주고 개인 보상으로 이정표를 축하해야합니다. 아침의 소변까지 머물러있는 경향이 있다면, 내가 고생하는 것, 또한 코딩 통학을 제공하는 것이 좋습니다. 나는 또한 나의 "코딩 컴퓨터"가 게임과 같은 많은 산만 함을 가지고 있지 않은지 확인하려고 노력한다.

    0

    항상 버그가 하나 더 있습니다. 그렇지 않은 경우 추가 할 수있는 기능이 한 가지 더 있습니다. 그러면 더 많은 버그가 추가됩니다. 어떤 사람이 IT (또는 사용)에 의해 "당신이해야하는 모든 것"이라는 문구를 사용하는 것이 교수형에 처해야한다고 생각하는 이유 중 하나입니다.

    키보드를 사용하지 않고 (샤워가 가장 좋거나 오전 4시에 침대에서) 사물을 생각하고 스크립트와 같은 가벼운 환경을 사용하여 사소한 일을하면서 코딩 세션의 지속 시간을 줄일 수 있습니다 그러나 "빠른"코딩 세션은 내가 오래 전에 희망을 포기한 것입니다.

    정신적 인 장치를 코딩 모드로 옮기는 것만으로도 시간이 걸렸습니다. 이전에 있던 스레드를 선택하는 데 시간이 걸렸습니다. "빠르고 쉬운 솔루션"에 위의 두 가지 중 어느 것도 없었던 것을 발견했습니다. 고정 내 "빠르고 쉬운 솔루션으로 시간이 걸리거나 디버깅하는 데 시간이 더 걸립니다."

    관련 문제