마감 시간이 길더라도 효율적인 코드를 작성하는 방법 솔루션의 코드를 작성한다는 것입니다. 물론 그 순간

결과물에 대한 마감일이 엄격한 많은 프로젝트가있는 환경에서 일하고 있습니다. 우리는 고객과 직접 대화하기 때문에 작업을 신속하고 빠르게 수행하는 것이 필수적입니다.

내 문제는 항상 내 마음에 오는 첫 번째 솔루션의 코드를 작성한다는 것입니다. 물론 그 순간 가장 좋았습니다. 그것은 항상 추악하게 끝나고 나중에 더 좋은 방법이 있지만 시간 제한으로 인해 바꿀 여유가 없다는 것을 알게되었습니다.

코드를 효율적으로 작성하고 정시에 제공 할 수있는 팁이 있습니까?



답변

코드를 유지 관리해야하는 경우 코드를 유지 관리하기 쉽게하려면 시간이 더 필요하므로 백엔드 비용이 절약됩니다. 즉, 유지 관리 가능한 코드를 요구 사항으로 만듭니다.

그들이 그것에 대해 신경 쓰지 않는다면, 나는 항상 더 나아지고 가능한 한 모범 사례를 통합하기 위해 최선을 다하는 것 외에 다른 것을 할 필요가 없다고 생각합니다.


답변

좋아, 이것은 약간 미친 소리로 들릴지 모르지만 나는 그것이 작동한다고 맹세한다. 프로그래밍뿐만 아니라 창의성, 집중력 및 기억력 향상을위한 레시피입니다.

  • 잘 먹고
  • 꾀하다
  • 충분한 수면 (사람에 따라 7-9 시간)
  • 뇌가 흐릴 때마다 낮잠
  • 해결되지 않은 문제로 잠을 자십시오. 모든 것이 완성되어 하루를 끝내지 마십시오. 하나의 어려운 과제를 보류하십시오-잠재 의식은 놀랍도록 효과적입니다.
  • 편안한 옷을 입으십시오
  • 운동
  • 스도쿠 (프로그래밍되지 않음), 십자말 풀림, 수학 연습, 공간 퍼즐 등 심리적 운동을 할 시간을 가지십시오
  • 어떤 행동이 성능에 영향을 미치는지 알아보기 위해 객관적인 실험을 수행하십시오 (이 작업을 수행하려면 성능을 테스트하는 신뢰할 수있는 방법이 필요합니다).
  • 당신의 영적 건강에 참석하십시오
  • 코튼 팬츠
  • 당신의 성 건강에 참석
  • 가족과 친구들을위한 시간 만들기
  • 직업 이외의 분야 (음악, 요리, 스포츠 등)에 능숙하고 같은 일을하는 다른 사람들과 사귀기
  • 어떤 사람들에게는 애완 동물이 필수입니다

알기 전에 프로그래밍 생산성과 솔루션 품질이 크게 향상됩니다 (다른 영역의 개선은 말할 것도 없습니다).

출처 :

  1. 기적의 두뇌 : 두뇌 능력을 극대화하고, 기억력을 높이고, 기분을 높이고, IQ와 창의력을 향상시키고, 정신 노화를 예방하고 반전하십시오
  2. 정량화 된 자아
  3. 세스 로버츠과학 미국에서

답변

반 직관적이지만 속도를 늦추어 야 할 수도 있습니다. 생각 나는 첫 번째 솔루션을 구현할 때 길을 따라 많은 추가 작업을해야합니다. “길 아래로”라는 말은 그날 오후 늦게까지 의미합니다. 자신을 위해 만든 문제는 개발하는 데 몇 달이 걸리지 않습니다. 당신의 선택권을 고려하십시오. 적게 입력하고 더 많이 숙고하십시오. 짧은 프로젝트 일지라도 코딩이 적을수록 실제로 속도가 빨라질 수 있습니다.

고객이 특정 산업에 클러스터 된 경우 재사용 가능한 구성 요소가있는 프로젝트를 빌드하십시오. 코드를 작성하지 않으면 코드를 작성하는 것보다 빠릅니다.

고객의 입장에서 볼 때, 이것은 ” 빠르고 좋고 저렴하며 두 가지를 선택하십시오 같은 냄새가납니다 . 물론, 우리 모두는 즉시 원하는 것을 원하지만 고객이 장기적으로 가장 좋은지 고려해야합니다. 트레이드 오프를 설명하고 그들이 올바른 결정을 내 리도록 도와주십시오.


답변

다른 직업을 찾으십시오.

약 6 개월 후에 찾을 수 있습니다. 당신이 한 일에 자부심을 갖지 않는 해로. 또한 새로운 기술, 기술 또는 프레임 워크에 대해 배우는 데 시간을 소비하지 않았으므로 1 년 후에는 새로운 기술을 따라갈 수 없었습니다. 당신은 시작보다 1 년 후 시장에 비해 더 나쁜 프로그래머가 될 것입니다.

너무 많은 시간이 지나면 (예를 들어 2 년 이상) 품질 코드가 인정되지 않고 속도 만 빨라지는 이런 종류의 빠르게 진행되는 직업을 제외하고는 어디에서나 고용하기가 매우 어려울 것입니다.

즉, “실제 세계”학습 경험으로, 빠르게 진행되는 환경에 대해 이야기 할 것이 있지만 약 6 개월이라고 말할 것입니다. 충분하다. 그 외에도 몇 명의 채용 담당자를 만나고 더 나은 곳을 찾아야합니다. 당신은 훨씬 더 행복하고 정직 할 것입니다.


답변

고객의 관점에서 볼 때 코드 효율성은 그다지 중요하지 않으며 매우 비쌀 수 있습니다. 요즘 코드를 작성하는 데 소요되는 시간은 시간을 정당화하기 위해 CPU 시간을 절약해야합니다. 대부분의 프로그램에서 효율성은 그렇게 중요하지 않습니다. 그것이있는 사람들조차도 대부분의 코드가 그렇게 효율적일 필요는 없습니다. 선택의 여지가 있다면 코드를 유지 관리하기가 더 효율적이지 않고 솔루션을 쉽게 유지 관리하는 것이 좋습니다.

시작하기 전에 코딩 계획을 세우는 데 시간이 걸리면 솔루션을 평가하고 다른 방법을 고려할 시간이 생길 수 있습니다. 이를 통해 코딩 및 테스트 시간을 절약 할 수 있습니다. 종종 간단한 코드가 더 효율적이라는 것을 알았습니다.

필요한만큼 많은 행을 사용하여 코드를 깔끔하게 배치하십시오. 복잡한 코드는 옵티 마이저를 혼동시킬 수 있으며 코드가 느려질 수 있습니다. 최신 컴파일러는 코드를 최적화하는 데 매우 능숙합니다.

충분하면 충분하다는 것을 인정하십시오. 보다 효율적인 접근 방법을 찾으면 스스로 메모하십시오. 시간이 좀 걸리면 더 효율적인 디자인 몇 가지를 구현 한 디자인과 비교하십시오. 작은 것 (영향을받는 코드)과 큰 것 (그것들을 사용하는 프로그램)으로 시도하십시오. 이를 통해보다 효율적인 접근 방식이 적절한시기를 느끼게됩니다.

많은 사람들이 조기 최적화를 나쁜 접근 방식으로 생각합니다. 구현 비용이 많이들 수 있습니다. 불행히도 많은 조기 최적화는 실제로 최적화 한 코드만큼 효율적이지 않습니다. 코드를 올바르게 최적화하려면 변경 전후에 코드를 계측하여 효율성이 실제로 향상되었는지 확인해야합니다.

낮은 커플 링과 높은 응집력으로보다 깨끗한 코드를 작성하는 데 도움이되는 기술을 연구하십시오. 많은 경우 복잡성을 줄이면 효율성이 향상됩니다. 개발 중에 수정해야하는 버그를 최소화하는 데 도움이되는 기술을 사용하면 더 빨리 제공 할 수 있습니다. 이를 통해 대체 방법을 테스트 할 시간을 확보 할 수 있습니다.


답변

Robert는 가장 중요한 측면을 다루었습니다.

코드가 6 개월 이상 살 수없는 환경에서 일했습니다. 내가 생각할 수있는 몇 가지 엄지 손가락 규칙이 있습니다.

  1. 오픈 소스 라이브러리, 타사 솔루션 등을 사용하십시오. 유지 관리 및 디버깅 작업이 줄어듦에 따라 학습에 도움이됩니다. 그러나 버그가 많은 라이브러리에 갇혀 있으면 운명입니다.
  2. 설계가 확장 가능한지 확인하십시오. 필수 요구 사항 : 대부분의 작업은 새로운 기능을 구축하지 않고 개선 사항으로 제공됩니다.
  3. 엄격한 테스트 계획을 세우십시오. 회귀 테스트를 보장하기 위해 QA를 받거나 테스트를 자동화하십시오.
  4. 스마트 도구-IDE, 코드 생성 유틸리티 등을 사용하십시오.
  5. 가능한 한 구성 가능하게 유지하십시오. (플립 쪽은 테스트 노력이 증가합니다)
  6. 타이핑 속도 향상 🙂

답변

디자인 단계에서 동료대화하십시오 .

디자인과 디자인 방법에 대해 토론하고 결정을 면밀히 조사하도록하십시오. 똑똑한 것에 모두 동의하면 훨씬 더 건전한 디자인입니다.