2009-10-19 10 views
7

게으른 개발자입니까? 코드 생성기와 같은 자동화 된 도구를 사용하는 것이 게으른가요?게으른 개발자이거나 게으른 개발자가 아니십니까?

필자가 필요한 경우 모든 데이터 계층과 엔티티를 만들 수 있지만 데이터 계층 및 엔티티 생성에 CodeSmith를 사용합니다. Resharper도 사용하며 MSDeploy와 함께 사용하면 Visual Studio 후에 처음 설치되는 것으로 간주됩니다. 다시해야만한다면, 나는 그것없이 코드를 작성할 수 있지만 그렇게하지 않는 것이 좋습니다.

내 관점에서 볼 때이 두 도구는 출력을 대폭 향상시켜주기 때문에 두뇌가 없습니다.

하지만이 게으른가요? 나는 모든 것이 당신이 무엇을하는지 알 수 있도록 모든 것이 당신에 의해 지워져야한다고 말하는 순수 주의자들이있을 것이라고 확신합니다. 그러나 만약 당신이 코드를 읽고 무슨 일이 일어나고 있는지를 확인할 수 있다면 괜찮습니까?

그래서 나는 게으르지 않습니까? 아니면 제 손에있는 모든 카드를 사용하고 있습니까?

+5

게으르다는 것은 일찍 일을 끝내는 것을 의미하므로 우리는 둘입니다. –

+1

게으르고 효율적인 것은 다른 두 가지입니다. 나는 내가 효율적이고 게으른다고 생각한다! 두 세계의 최고! –

+0

나는 진짜로 유효한 문제가 있다고 생각하지 않는다. 숙고하고 싶은 주제가 있으니 괜찮습니다. 그러나이 질문은 community-wiki로 표시되어야합니다. –

답변

23

프로그래머의 경우 laziness is a virtue이므로 걱정하지 마십시오.

+1

적어도, 그것이 우리가 스스로에 대해 더 잘 느낄 수 있도록 그것을 정당화하는 방법입니다) – mpen

1

당신은 모든 카드를 사용하고 있습니다. 작업을 쉽게 할 수있는 도구가있는 경우 왜 다시 바퀴를 다시 만듭니다. 이 공구가 당신의 일을하지 않는다는 것을 명심하십시오, 그들은 단지 원조합니다.

당신이 만드는 것은 당신에게 달려 있습니다. 그래서 도구를 사용하는 것은 게으르지 않습니다 ... 그것은 단지 지적입니다.

+1

동시에 동일한 작업에 대해 다른 도구가 있음을 잊지 마라. (나는 사람들이 벤치에 앉아있는 해킹 톱과 2 분이 걸릴 것이기 때문에 파워 톱을 설치하는 데 10 분이 걸리는 것을 보았습니다.) –

5

너는 바퀴를 n 번 다시 열 필요가 없다, 이것은 충분히 자주 행해진 다. 간단히 말해서, 당신이 언급 한 것과 같은 도구를 사용하는 것이 아무런 문제가 없다고 말하고 싶습니다. ...

1

게으른 것이 아니라보다 효율적이라고 말하고 싶습니다.

+0

게으름은 코드 생성기를 사용하여 효율적이지만 사용하면 얻을 수 있습니다. StackOverflow 주위에 스크류로 저장 된 시간은 당신이하기 위해 고용 된 프로젝트의 다른 측면에 더 많은 시간을 투자하는 것이 아닙니다. 게으름에 대한 또 다른 설명 : 게으름은 코드 생성기를 사용할 때 발생하지만 원하는 모든 작업을 수행하지 못하도록합니다 (즉, 작업을 수행하는 데 올바른 도구가 아닌 무언가를 사용할 때). –

11

도구를 사용하여 코드를 생성하고 코드가 사용자 요구를 충족하고 표준을 준수 함을 확인하지 않고 그대로 사용하는 경우에만 게으른 것입니다.

2

내 관점에서 볼 때이 두 도구는 출력을 대폭 향상시켜 주므로 아무런 뇌가 없습니다.

이것은 게으르지 않으므로 적절한 도구를 사용하여 작업의 중요한 측면에 집중할 수 있음을 의미합니다.

2

게으르지 않습니다. 영리합니다. 귀하의 처분에 따라 모든 도구를 사용하는 것이 잘못된 결과는 아닙니다. 도구를 사용하기 위해 도구를 사용하는 것은 나쁜 생각입니다.

그러나 도구가 후드에서 무엇을하는지 모르는 경우에는 도구에 대해 알아야하므로 어떤 이유로 도구를 사용할 수없는 경우 작업을 완료 할 수 있습니다.

5

당신에게 적합합니까? 아니, 게으르지 않아.

이없는 사람의 경우은 코드 생성기가 무엇을하는지 어떻게 이해합니까? , 게으르다.

중요한 차이점은 다음과 같습니다. 은 코드 생성기를 사용하여 누락 된 항목을 파악해야합니다.그렇게하지 않으면, 그 수업을 생산할 수 있어야하고 방법을 알지 못하는 경우가 발생하기까지는 시간 문제 일뿐입니다.

+0

컴파일러의 작동 방식을 모르는 사람은 사용하는 것이 게으르다는 것을 의미합니까? –

+0

@Matthew Whited 나는 너를 깨닫고있다. 왜 또는 어떻게 작동하는지 모른 채 맹목적으로 도구를 사용하는 사람들이 있다는 사실을 깨닫게되면 팀에 해가됩니다. –

+1

컴파일러의 작동 방식을 모르는 프로그래머가 있습니까? 책 구입. 쳇. –

0

나는 순수 주의자가 거기에 당신이 모든이가 초기에보기 가능한 지점되었을 수 있습니다

을 무엇을하고 있는지 알 수 있도록 모두가 당신에 의해 wirtten해야 말을하는이 확신 해요 프로그래밍의. 그러나 요즘은 이것이 가능하지 않습니다 (또는 심지어 바람직합니다). 결국 고급 언어를 사용하여 특정 수준의 이해를 이미 가려 냈습니다.

나는 말하기를, 나는 때때로 이런 것들을 손으로 직접 쓰는 것이 훌륭한 학습 활동이라는 것을 알았다. 뿐만 아니라 더 많은 것을 배우게 될뿐만 아니라이 도구들이 실제로 얼마나 도움이되는지 (또는 그렇지 않은지) 가르쳐줍니다. 개인 프로젝트에서만이 작업을 수행합니다. 나는 누군가가 나를 지불하고있는 어떤 프로젝트에 대해서도 이것을하지 않을 것이다. (내가 masochist 또는 무언가를 위해 일하지 않았다면).

0

왜 많은 ORM 및 다른 코드 생성 도구가 있는지 자문 해보십시오. 나는 당신이 그것을 다음 남자/여자애에게 유지할 수있는 조건으로두고 간다고 말하고 싶다.

0

프로그래밍은 반복적 인 작업을 자동화하는 것과 관련하여 게으르다. 자신의 언어에서 그렇게 할 수 없다면 코드 생성기와 비슷한 것을 사용하는 것이 유용한 해결 방법입니다.

2

저는 그것이 잘못된 질문이라고 생각합니다. 게으름은 미덕입니다. 필자는 앉아서 몇 분 동안 더 쉬운 방법을 생각하기보다는 어려운 방법으로 일하는 프로그래머를 너무 많이 보았다. 나는 수없이 많은 시간을 보냈다. 나는 주니어 프로그래머에게 "네, 점심을 먹고 X를 할 코드를 작성하는 데 당신의 근면함을 존중하지만, 설명서를 확인하는 데 몇 분 만에 이미 라이브러리에 라이브러리가있는 것을 보았을 것입니다. " 또는 비슷한 이야기.

나는 당신이 묘사 한 구체적인 도구에 익숙하지 않지만, 나에게있어 항상 문제는이 도구가 실제로 어떤 작업을 저축합니까? 나는 기본적으로 코드 스텁을 만드는 "코드 생성기"를 많이 시험해 보았습니다. 그래서 gee, 고마워, 당신은 "function x (int, float)"을 썼다. 이제는 실제 매개 변수 이름을 채우고 코드를 작성해야한다. 그게 날 구한거야? 나는 또한 정말 끔찍한 코드를 작성하는 코드 생성기를 많이 보았습니다. 자 이제이 엉망진창에 "맞춤"코드를 추가해야합니다. 처음에 모든 것을 깨끗하게 작성하는 것이 더 쉬웠습니까? 도구를 실행하기 위해 매개 변수를 설정하는 데 더 많은 시간이 걸리는 것으로 나타났습니다. 실제로 도구를 사용하여 저장 한 것보다 많은 시간이 걸렸습니다. (오래된 농담과 같이 정기적으로 조깅을하면 실제로 더 오래 살 수 있다는 것이 입증되었습니다. 조깅을하면 60 분마다 인생에 30 분이 더 걸립니다.) 일부 도구는 코드 나 데이터 구조 등을 생성하기 어렵습니다. 유지하므로 오늘 시간을 절약 할 수 있지만 프로젝트 수명 기간 동안 유지 보수 비용은 10 시간입니다. 기타

내 결론은 생산성 도구를 사용해서는 안된다는 것이 아니라 오히려 실제로 생산성을 높이고 그와 같은 환상을 제공해야한다는 것입니다. 당신의 경우에 당신이 도구가 정말로 당신을 도울다는 것을 알게된다면, 그 도구를 사용하는 것이 "부정 행위"가 아니라 단순히 똑똑한 것입니다.

+0

매우 잘 답변! –

0

물론 작성 내용에 따라 다릅니다. 나는 아무도 이걸 가져 오지 않았다는 것에 놀랐다. 장치 드라이버, 운영 체제, 프로토콜 또는 서버 소프트웨어 (웹 서버, TCP 기반 서버 등)를 작성하는 경우 직접 작성해야합니다.

하지만 내가하는 일은 웹 페이지 또는 웹 서비스 용 코드로 비즈니스 프로세스를 구현하는 것입니다. 그리고 이러한 영역에서 코드 생성기로 코드를 개선 할 수 있다면이를 수행하십시오.

0

예. 게으른 개발자가되어 주셔서 감사합니다. 지금보다 훨씬 게으르다 고 말할 수있는 힘든 방법을 택할 시간이 있다면 정직하십시오.

요점은 게으르다는 것이 비효율적이지 않다는 점입니다. 게으른 사람들은 다른 방향에서 문제를 보면서 시간을내어 작업하기 전에 불필요한 오류를 피함으로써 귀중한 시간을 절약 할 수 있습니다.

그래서 게으르다.하지만 괜찮아. 사람들은 매일 10 가지 응용 프로그램을 만드는 과도한 능동적 코더를 고용하지 않지만 자신의 길에 버그를 남깁니다. 버그 수정 비용 시간, 시간은 돈입니다.

결론 : 게으름 그것을 위해 = 이익

이동합니다.

0

나는 최고의 개발자가 또한 게으른 사람이라고 생각한다. 기본적으로, 최소한의 작업으로 최종 결과를 얻는 데 주력해야합니다. 이는 종종 최상의 결과를 제공하고 개발자가 프로젝트에 포함시킬 재미있는 것들로 산만 해지는 것을 방지합니다. 게으른 개발자는 예를 들어 그의 코드에 부활절 달걀을 추가하지 마십시오. 왜냐하면이 코드가 더 많은 코드 일 것이기 때문입니다. 나중에 버그를 수정해야 할 수도 있습니다. 나중에 해결할 필요가있는 버그를 추가하기 때문에 코드를 추가하는 것은 좋지 않습니다. 그래도 코드를 추가해야합니다. 그렇지 않으면 돈을받지 못합니다. 따라서 게으른 개발자는 물론 가장 최적화 된 코드를 선택하게 될 것입니다. 가장 잘 테스트 된 코드는 거의 실패하지 않을 것이며 오류 가능성을 최소화하는 방식으로 작업 할 것입니다.

게으른 개발자는 지금 작업을 피하는 것이 아니라 앞으로 작업을 피하는 데 집중해야한다는 점을 명심하십시오! 그러니 여기에서 읽지 마시고 다시 일하십시오! ;-)

2

다른 모든 사람들은 이미 코드 생성기 사용에있어 아무런 문제가 없다고 지적 했으므로.

여전히 특정 상황에서 부작용을 피할 수있는 단점이 있습니다. 언어의

  • 선택. 코딩을 시작하기 위해 코드 생성기가 필요하다는 사실은 작업에 대해 잘못된 언어를 사용하고 있음을 암시 할 수 있습니다. 대부분의 경우 언어를 선택할 수 없으므로 코드 생성기가 가장 좋은 방법입니다.

  • 코드 중복. 실제 생성자에 따라 생성 된 코드는 중복 될 수 있습니다. 이러한 일이 발생하면 생성이 자동으로 수행되지 않고 코드가 기본 저장소에 생성됩니다.유지 관리 문제이 장기간에 발생할 수 있습니다. 실제로 코드 생성 자체에 문제는 없지만 사용해야하며 사용해서는 안됩니다.

  • 추가 플랫폼 요구 사항. 우리는 PC로 두 배가되는 빵 토스터기에서 많은 프로그래머를 양보해야합니다. 날카로운 마음을 가진 값싼 비즈니스 관행의 나쁜 (슬픈) 현실입니다. (예리한 마음이 그 과정에서 낭비된다.) 우리 프로젝트 (미래의 매장과 외부 시설 중 하나에 포트가있을 수있는 프로젝트)가 상당한 양의 크로스 플랫폼, IDE 모든 작은 수정을 컴파일하는데 편리합니다.

따라서 게으름과 프로그래밍을 생성하는 코드에 대한 확실한 답은 없습니다. 그럼 다시, 직업에 대한 잘못된 도구를 사용하여 귀하의 건강에 나쁜 (및 비즈니스) 그래서 ...하지 않습니다.

1

프로그래밍은 주로 타이핑이 아닌 사고 연습입니다. 도구가 무엇을하는지 이해하면 입력 균형에서 생각으로 균형을 전환하게됩니다. 직업에 관한 것보다 더 많이하고 있습니까? 나에게는 게으른 것처럼 들리지 않는다!