Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Rails 기본 사항이 있습니다. 그렇다면 왜 그렇게 느린 느낌이 듭니까?

Rails의 핵심 아이디어에 대해 확신합니다. 문제 없이 작동하는 코드를 작성할 수 있습니다. 그리고 코드 품질, 리팩토링, 훌륭한 테스트 작성 및 객체 지향 디자인에 대해 더 많이 배우고 있습니다.

이 시점에서 당신은 전문가가 되는 길에 있다는 것을 깨닫고 있다는 느낌을 받기 시작합니다. 뒤를 돌아보면 얼마나 멀리 왔는지 알 수 있으며 진행 상황에 매우 만족합니다.

그래서 왜 그렇게 느리게 느껴지나요? 이제 테스트, 유지 관리 및 디자인에 신경을 쓰므로 배송하는 데 더 많은 시간이 걸리는 것처럼 느껴집니다!

그것도 가능합니까? 고품질 코드를 신속하게 배송하려면?

모든 것이 프로세스의 일부입니다

이 느낌은 무엇을 배우든 매우 일반적입니다.

이제 더 이상 초보자가 아니므로 코드가 가질 수 있는 모든 다양한 모양을 보기 시작했습니다. 한 줄의 코드를 작성할 때마다 생각할 수 있는 대안이 더 있습니다. 이전에는 인식하지 못한 극단적인 경우를 테스트해야 합니다.

유용한 기술을 많이 배웠습니다. 하지만 지금은 여전히 ​​많은 생각을 하고 있습니다. 모든 결정을 저울질해야 하므로 배운 것을 바탕으로 올바른 결정을 내리는 것이 편안합니다.

하지만 더 빨라질 것입니다. 배운 기술이 더 자동으로 바뀝니다. 당신은 직관을 구축할 것입니다. 그리고 더 빨리 더 나은 결정을 내릴 수 있습니다.

알고 있으면 좋지만 지금은 도움이 되지 않습니다. . 그래서 무엇을 할 수 있는지 더 빨리 끝내기 위해 지금 하시겠습니까?

단계별 수행

키보드에 손가락을 댈 때마다 완벽하고 고품질이며 유지 관리가 용이한 코드를 작성하는 데 집착하면 아무 것도 할 수 없습니다.

문제가 생기면 기사를 작성할 때와 같은 방식으로 코드를 작성합니다. 대략적인 초안으로 시작합니다. 일부 테스트, 코드 또는 주석을 스케치할 수 있습니다. 또는 종이에 몇 가지 아이디어를 적어 보십시오. 이 시점에서 구조에 대해서는 걱정하지 않고 머리 속에 있는 막연한 아이디어를 정리하기 위해 코드를 사용하고 있을 뿐입니다.

그런 다음 이러한 아이디어를 간단한 구현으로 전환합니다. "효과가 있을 수 있는 가장 간단한 것"이라고 부를 수 있습니다. 완벽하지도 않고 가깝지도 않습니다. 하지만 걱정하지 마세요. 코드가 작동하면 정리 단계를 수행할 것이기 때문입니다. TDD 엣지 케이스, 분명히 잘못된 코드를 리팩터링하거나 이름을 더 명확하게 만드세요.

이러한 "정제된 초안"은 일반적으로 배송하기에 충분합니다. 하지만 보통 몇 번 더 패스합니다. 많지는 않지만 곧 수익이 줄어들기 시작할 것입니다. 가치보다 코드를 정리하는 데 더 많은 시간을 할애하게 됩니다.

그런 다음 가능한 한 가장 깔끔한 코드로 끝내고 싶다면 잠시 동안 그대로 두십시오. 몇 주 또는 몇 달 후에 다시 돌아와서 한 번 더 통과해 보세요. 그때쯤이면 시스템에 대해 더 많이 알게 될 것이며 유지 관리가 매우 용이한 훌륭하고 코드를 작성하는 방법에 대해 더 많이 알게 될 것입니다. 더 나은 작업을 수행할 수 있습니다.

작성과 마찬가지로 그 과정은 다음과 같습니다.

  1. 대략적인 개요, 초안 또는 프로토타입을 스케치합니다.
  2. 간단하고 편집되지 않은 간단한 구현을 작성합니다(종종 TDD에 의해 안내되거나 테스트와 함께 작성됨).
  3. 해당 구현을 약간 수정, 리팩터링 및 정리합니다.
  4. 해결하도록 하세요.
  5. 다시 돌아가서 한 번 더 패스합니다.

훨씬 더 많은 작업처럼 들립니다. 하지만 이런 단계를 거치면 항상 자신을 의심하지 않고 더 빨리 움직일 수 있습니다. 그리고 몇 가지 적절한 옵션 사이에서 지나치게 생각하는 결정을 내리지 않게 될 것입니다.

이 기사는 내 조언 페이지에 있는 Topher의 질문에서 영감을 받았습니다. Ruby 및 Rails에 대해 궁금한 점이 있거나 도움이나 조언이 필요하면 저에게 물어보세요!