문제

코드 라인의 함수 지점을 메트릭으로 사용하는 것에 대해 어떻게 생각하십니까?

오래된 게임 쇼 "That Tune"을 생각하게합니다. "나는 그 곡을 세 가지 노트로 지명 할 수있다!" 나는 그 기능을 0.1 klocs로 쓸 수 있습니다! 이것이 유용합니까?

그것은 확실히 도서관 사용을 촉진하는 것처럼 보이지만 그것이 당신이 원하는 것입니까?

도움이 되었습니까?

해결책

나는 그것이 끔찍한 생각이라고 생각합니다. 그들이 쓰는 코드 라인에 의해 프로그래머를 지불하는 것만 큼 나쁘다.

일반적으로, 나는 정점 코드보다 간결한 코드를 선호하지만 여전히 프로그래머의 의도를 명확하게 표현하는 한만. KLOC 당 기능 지점을 최대화하면 모든 사람이 가능한 한 간결하게 코드를 작성하도록 권장합니다. 또한 사람들이 인접한 코드 라인을 한 줄에 가입하도록 권장합니다. 최대 허용 라인 길이도 문제가됩니다.

다른 팁

KLOC는 코드 표준을 엄격히 시행하는 경우에 견딜 수 있습니다. 보고서에 페이지 요구 사항을 사용하는 것과 같은 종류 : 한 줄에 5 개의 명령문을 넣지 않거나 코드에서 대부분의 공백을 제거하지 않습니다.

환경이 여러 다른 응용 프로그램과 모듈을보고 코드 품질을 대략적으로 추정하고 코드 크기와 비교하는 것이 얼마나 효과적인지 결정할 수있는 한 가지 방법을 생각합니다. 코드 품질이 조직 내에서 일관성이 있음을 증명할 수 있다면 KLOC는 잘못된 메트릭이 아닙니다.

어떤면에서는 비슷한 메트릭으로 동일한 전투에 직면하게됩니다. 기능 또는 기능 지점 또는 단순히 기능 또는 모듈을 계산하는 경우에도 여전히 어떤 방식으로 가중치를주고 싶을 것입니다. 궁극적으로 수집 할 객관적인 데이터에 대한 일종의 주관적 보충이 필요합니다.

"코드 라인의 함수 지점을 메트릭으로 사용하는 것에 대해 어떻게 생각하십니까?"

질문을받지 마십시오. 위의 비율은 주어진 언어와 팀의 경우 간단한 통계적 사실입니다. 그리고 작은 표준 편차로 평균값을 향한 경향이 있습니다.

자유도의 자유도가 많이 있습니다. 그런 것들을 바꾸지 않으면 가치는 꾸준히 유지됩니다.

몇 가지 프로젝트를 한 후에는 1200 개의 기능 포인트가 선호하는 언어/프레임 워크/팀 조직에서 12,000 줄의 코드가 될 것으로 기대합니다.

KSLOC / FP는 통계적 관찰입니다. 분명히, 이것에 대해 당신을 괴롭히는 다른 것이 있습니다. 질문에서 더 구체적 일 수 있습니까?

함수의 지점은 코드 라인을 가리키는 것이 실제로 언어 레벨 차트를 생성하는 데 사용됩니다 (실제로는 프로그래밍 언어가 얼마나 강력한 지에 대한 대략적인 감각을 제공하기 위해 언어 레벨 차트 (실제로는 진술의 기능 지점)를 생성합니다. 예는 다음과 같습니다. http://web.cecs.pdx.edu/~timm/dm/functionpoints.html

언어 레벨 차트와 같은 높은 수준의 근사치를 제외하고는 그 비율을 다른 것에 사용하는 것이 좋습니다.

도서관 사용을 촉진하는 것은 좋은 일이지만, 명심해야 할 또 다른 것은 라이브러리를 구축 할 때 비율을 잃고 시간이 지남에 따라 절약의 배당금으로 만 지불한다는 것입니다. 콩 카운터는 그것을 이해하지 못합니다.

나는 개인적으로 ABC 메트릭 비율의 함수 지점을보고 싶습니다. www.softwarerenovation.com/abcmetric.pdf

모든 지표가 빨라집니다. 내 이론은 항상 당신이라면 그 것입니다 가지다 그것들을 갖기 위해, 당신이 그들을 모아서 중요한 일을 할 수있는 가장 쉬운 일을 사용하십시오.

그것은 일반적으로 선을 따라 무언가를 의미합니다

grep -c ";" *.h *.cpp | awk -F: '/:/ {x += $2} END {print x}'

코드 효율성을 추적하기위한 "메트릭"을 찾고 있다면 그렇지 않습니다. 당신이 주장하면, 다시 한 번 바보 같은 소스 파일 크기 (위의 Grep 명령, awk 파이프 참조) 또는 McCabe (카운터 프로그램 포함)를 다시 시도하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top