2010-08-05 2 views
2

나는 이것이 주관적인 것으로 여겨 질 수 있음을 알고 있지만 이것은 분명히 내 의도는 아니다. 나는 항상 소프트웨어 기술자의 생산성과 품질을 향상시키는 데 도움이되는 기술에 대해 들어 본 적이 없습니다.생산성과 품질을 향상시키는 가장 효율적인 방법은 무엇입니까?

특히 저는 소프트웨어 엔지니어로서 생산성과 품질을 향상시키는 데 도움이되는 도구, 기법, 접근법, 팁과 트릭, 모범 사례 등을 찾고 있습니다. 이것은 실제로 프로세스 관련 질문입니다. 그러니 당신의 관점에서 어떤 프로그래밍 언어가 최선인지에 대한 당신의 의견으로 대답하지 마십시오.

응답이 주관적 일 것으로 기대합니다. 하지만 그것은 그것의 아름다움입니다. 모두가 모든 것을 해결하지는 않습니다. 우리 모두는 우리가 운영하는 다른 일련의 제약 조건을 가지고 있습니다. 그러므로 우리가 다른 선택을하는 것은 피할 수없는 일입니다. 대답이 모순이라면, 그것은 완벽 할 것입니다!

구체적으로 도움이 된 기술은 무엇입니까? 그들은 어떻게 차이를 만들었습니까? 그 결론에 도달하기 위해 어떤 기준을 사용합니까?

+0

누구든지이 질문에 답했습니다. 이유에 대한 의견을 남겨 주시면 감사하겠습니다. 감사! – Manfred

+1

질문을 끝내기로 결심 한 사람이 같은 사람이라면 질문은 주제와 관련이 없다고 생각했기 때문입니다. –

답변

1

여기 주관적인 답변입니다.

품질 향상을위한 표준 접근 방식은 단위 테스트입니다. 당연히 당신은 여전히 ​​작동하는 진절머리가 나는 코드를 작성할 수 있으며 그것이 작동한다는 것을 확인하는 단위 테스트를 할 수 있지만 적어도 작동한다는 것을 알고 있습니다. 단위 테스트를 통해 실제로 이점을 얻을 수있는 곳은 코드를 변경하거나 추가 기능을 추가하려는 경우입니다. 단위 테스트를하면 코드가 계속 작동합니다.

생산성 및 단위 테스트는 단기적 또는 장기적 생산성 여부에 달려 있습니다. 단위 테스트에는 시간이 걸리므로 실제 기능을 작성하는 데 생산적이지 않습니다. 장기간에 걸쳐 단위 테스트를 통해 유지 관리하는 동안 모든 기능이 계속 작동한다는 것을 보장하므로 생산성이 더 좋습니다.

두 번째 생산성 및 품질 향상 팁은 새로운 기능을 모두 완전히 생각하는 것입니다. 새 기능이 선적되면이를 유지 관리해야합니다. 유지 관리에는 시간이 걸리고 생산성이 떨어집니다. 새로운 기능이 필요합니까? 얼마나 많은 고객이 실제로이 기능을 원하십니까? 항상 더 큰 그림을 보려고 노력하십시오. 제품에 대한 자신 만의 비전은 무엇이며,이 새로운 기능은이 비전에 부합합니다.

코드가 적을수록 관리해야 할 코드가 적어지고 버그가 줄어 듭니다. 나는 항상 그것을 명심하려고 노력한다.

+0

모두가 정답을 선택하기가 어려웠습니다. 단위 테스트에 대한 내 경험이 내 것과 일치한다고 생각합니다. 이는 확립 된 팀과 기존 코드 기반으로 구현하기 어려운 몇 가지 기술 중 하나이지만 생산성과 품질을 동시에 향상시킬 수 있습니다. 답변 주셔서 감사합니다! – Manfred

1

해당 당사자에게 위임하십시오. 그런 다음 할당 된 작업을 주기적으로 검토하십시오.
누가 최상의 위임을 받았는지, 누가 정확하고 효율적으로 작업을 수행 하는지를 알면 생산성이 크게 향상됩니다.

당신이하고 싶은 일에 집중할 수있게 해줍니다.
예를 들어 stackoverflow 질문에 대답하는 것과 같습니다.

+0

모든 답변이 올바른 것처럼 특정 답변을 받아들이 기가 어렵습니다. 하지만 하나를 고르겠습니다. 답변 주셔서 감사합니다! – Manfred

1

재귀를 효과적으로 사용하는 방법을 배웁니다. 복잡한 문제를 이해할 수있는 코드로 분해하는 프레임 워크를 제공합니다. 그것은 오류가 거의 없거나 거의없는 어려운 비트를 빠르게 코딩하는 데 도움이되었습니다. 이런 식으로 생각하는 법을 가르쳐 준 책은 DP Friedman의 The Little Schemer였습니다.

두 번째는 Lisp을 배우는 것이라고 말하고 싶습니다. 다른 언어를 더 빨리 익힐 수있었습니다. 이제 다른 언어를 구현하는 Lisp 기능의 하위 집합으로 분류 할 수 있습니다.

P. 저는 소프트웨어에서 자주 재귀를 사용하지 않습니다.대부분의 현대 언어와 프레임 워크에는 간단한 문제에 대한 재귀 사용을 피할 수있는 기능과 유틸리티 기능이 있습니다.

+0

Roberts : 힘든 일이므로 정답을 선택하십시오. 모두 정확합니다. 답변 주셔서 감사합니다! – Manfred

관련 문제