우리는 C 코드의 품질 메트릭을 계산하는 소프트웨어 품질 분석 도구를 사용합니다. 복잡성, 정적 경로 등을 계산합니다. 계산하는 메트릭 중 하나는 함수의 '매듭 (knots)'수입니다. 이 측정 항목의 의미는 무엇입니까? 매듭이 적은 것이 바람직합니까?매듭은 소프트웨어 메트릭의 의미는 무엇입니까?
답변
매듭은 소프트웨어 메트릭스 세계에서 꽤 오랫동안 (1979, Woodward, Hennell, Hedley)있었습니다. knots의 개념은 기본적으로 루프, 결정 포인트, 점프 등 소프트웨어의 순서도에 그려야 할 매듭 (또는 pathes/branches ...)의 양으로 나눌 수 있습니다.
코드가 똑같은 코드보다 매듭 점이 적 으면 코드가 더 간단하고 (따라서 빠릅니다) 간주됩니다. 따라서 소프트웨어의 매듭을 줄이기 위해 노력하지만 기능은 동일하게 유지하십시오.
나는 그래프 이론으로부터 더 많은 expext 용어를 원합니다 : edges and no ** des **. – Olaf
@Olaf, 나는 "매듭"이 예전의 스파게티 코드를 더 잘 대표한다고 생각하고 스파게티를 막아 스파게티에 "매듭"을 만들어야합니다. –
@PaulOgilvie : 스파게티를 어떻게 요리 할 지 모르지만, 만약 그들이 조리해야한다면 ("dente", slopply "with bite", 너무 부드럽지 않은), 그들은 정말로 "매듭"하지 않을 것입니다. (아니오, 저는 이탈리아어가 아닙니다. , 좋은 파스타처럼 ;-). 진심으로 : 나는 그것을 이해한다. 그래프는 스파게티의 일반적인 형태입니다. 하지만 코드 메트릭 도구에 대한 많은 경험이 없습니다. 나에게 그들은 측정 할 수없는 (측정 할 가치가있는 프로그래머) 매니저를위한 동물원의 일부입니다. 프로젝트 일정을위한 수정 구슬에 가깝고 내년 날씨는 어떻습니까? – Olaf
매듭은 실제로 구조화되지 않은 Fortran 유형 코드에 적용되며 현대 언어에는 적용되지 않습니다. 그들은 제어 흐름이 얼마나 복잡한지를 측정합니다. 우리가 보았던 몇몇 프로그램은 순수한 스파게티였습니다!
"코드가 더 간단하고 빠른 것으로 간주됩니다"라는 구.은 정확하지 않습니다. 매듭 점이 적은 코드는 더 간단하고 유지하기 쉽다고 여겨집니다. 속도와 관련이 없습니다.
David Hedley (누가 처음으로 계산 했습니까?)
- 1. 소프트웨어 테스팅에서 'Artifact'의 의미는 무엇입니까?
- 2. AmazonStorageSpace 메트릭의 Amazonsearch 해석
- 3. 거리 메트릭의 조합 최적화
- 4. 지오 메트릭의 인덱스 저장
- 5. XoffLimit, XonLimit - 의미는 무엇입니까?
- 6. WISC (스택)의 의미는 무엇입니까?
- 7. sonarqube의 문자열 메트릭의 최대 크기
- 8. 큐브 메트릭의 단계를 변경하려면 어떻게합니까?
- 9. CloudWatch 사용자 정의 메트릭의 가격
- 10. 캐시 미스 레이트 메트릭의 차이점
- 11. /([^.]*)\.(.*)/ 의미는 무엇입니까?
- 12. || = 의미는 무엇입니까?
- 13. & = 의미는 무엇입니까?
- 14. 소프트웨어 테스팅과 소프트웨어 테스팅의 차이점은 무엇입니까?
- 15. 소프트웨어 메트릭 개선?
- 16. 최대 값이 요약 메트릭의 값을 표시하지 않는 이유는 무엇입니까?
- 17. Azure Portal의 Web App 메트릭과 Application Insights 메트릭의 차이점은 무엇입니까?
- 18. SQALE에서 "LifeCycle expectations"의 의미는 무엇입니까?
- 19. 의미는
- 20. "상품 소프트웨어"란 무엇입니까?
- 21. 독점 소프트웨어 란 무엇입니까?
- 22. 소프트웨어 환경이란 무엇입니까?
- 23. x86의 "non temporal"메모리 액세스의 의미는 무엇입니까?
- 24. Graphite에서 메트릭의 현재 카운트를 얻는 방법
- 25. jquery/javascript에서 /.*=/ 의미는 무엇입니까?
- 26. 추적 표시의 의미는 무엇입니까?
- 27. DTMobileIS의 의미는 무엇입니까?
- 28. "for (;;)"의 의미는 무엇입니까?
- 29. jquery에서 줄의 의미는 무엇입니까?
- 30. withValueBackReference의 의미는 무엇입니까?
이 도구에 대한 문서는 무엇을 말하고 있습니까? 아니면 공급 업체입니까? 공구에 대한 지원을받지 못했습니까? – Olaf
C 프로그래밍에서이 용어에 대해 들어 본 적이 없습니다. 나는 항공기의 속도가 매듭으로 측정 될 수 있다는 것을 알고 있습니다 ... – ForceBru
https://en.wikipedia.org/wiki/Knot_theory –