문제

저는 요구 사항들에게는 큰 금액의 코드 MISRA 규정을 준수합니다.
첫 번째 질문:할 수 있는 누군가를 제공하는 estimation 에 대한 통과 잘 작성된 코드에 대한 임베디드 시스템의 경험을 기반으로합니다.내가 이해하는"잘 작성하는"가난하게 정의하고 막연하게 raw 용도로도 사용이 가능합니다.
두 번째 질문:한 추천하는 도구 사용자 정의 할 수 있습니다(i.e 있도록 억제하는 특정한 경고)과에서 사용되는 자동적인 구축 환경(i.e 는 명령줄 인터페이스)
다른 유용한 제안을 도울 수 있는 이 작업입니다.
감사 리아.

도움이 되었습니까?

해결책

또한 추천 PC 린.할 일이 있다면 코드를 컴파일 Visual Studio 추천 plug-in'Visual 보풀이'에서 Riverblade.할 수 없는 경우에 코드를 컴파일을 Visual Studio 에서 실행할 수 있습 PC-보풀에서 명령 라인을 좋은 효과가 있습니다.

일부는 임베디드시스템 컴파일러를 제공 MISRA 적합성 테스트로 컴파일러 경고입니다.사용 IAR compiler for Arm7/Arm9 개발.제공하는 쉽게 구성 MISRA 규정 준수 체크리스트에 컴파일러 설정입니다.

그것은 만들어 낸다는 것은 매우 어려운 일 엄지손가락의 규칙을 추정하기 위한 걸리는 시간은 당신이 몇 가지 잘 작성된 코드 MISRA 규정을 준수합니다.에 따라 많은 기존 코딩의 습관을 프로그래머는 방법과 밀접하게 그들을 따라 MISRA 규칙에서 첫 번째 장소입니다.

대략적인:
2-3 일 이내에 숙련 PC 린 사용합니다.
초기 단계에서 기존 코드 MISRA 규격:10~25%를 사용한 시간을 쓰는 코드에서는 첫 번째 장소입니다.
유지 코드 MISRA 규격:5~10%추가 코드 개발.의 절반 이 비용은 변경의 습관더를 따라'MISRA 방법으로는'일 것입니다.다른 반 추가 비용 코드의 테스트 및 검사 보 MISRA 을 준수한다.

다른 팁

코드 Misra 준수하지 않은 그것을 너무 많이 잡-경우에 따라 상당히 좋은 프로그래밍이 실행한다.찾을 수 있습니다 몇 가지 포인터의 규칙을 약간 까다로운 경우에는 코드를 만들려고 노력하고 준수하는 몇 가지 이상하고 놀라운 포인터 연산입니다.

나는 두 번째로 그의 추천 PC 보풀이지만,오픈 소스의 부목은 또한 가치가 있지만,그들 사이에는(컴파일러의 경보 시스템),내가 예상 당신은 여전히 할 수 있을 커버의 80%Misra 규정-나머지는 아마 할 필요가 코드에 의해 검토하다.

사용 PC 보풀에 대한 정적 해석은 C 및 C++코드입니다.그것은 구성할 수 있는 것을 보여 MISRA 규칙에 위반되었다,그리고 그것은 명령줄 인터페이스입니다.

내가 사용되는 상업적인 도구라 QAC.도구할 수 있 강제 적용 MISRA

그것은 명령줄 인터페이스,그래서 당신은 설정할 수 있습니에서 실행 자동화를 구축 환경입니다.규칙을 적용 구성할 수 있지만 기대하는 사람이 있고 몇 시간을 보내고 그것을 설정 합니다.MISRA 집행은 매우 간단하고 잘 충분하다.내가 들었다(그리고 이것은 다만 제 3 자 소)이것은 하나의 공구의 일부 기관(등 FDA)을 평가하는 데 사용하는 코드입니다.가장 좋아하는 정적 분석 도구가 있는 노이즈(오탐)를 처리합니다.마지막 시간 내 사용되는,그것이 의미하 mark/중지 거짓 긍정적인에서 발생하는 다시(을 변경하지 않고 코드 그것에 대해 불평하고).

내가 의심 주니어 엔지니어할 것이 주(4-5 일 마)그것을 얻을 설정(가정들은 결정 그것을 얻으로 작업을 원합니다).

에서 참고,다른 상업적인 정적 분석 도구를 가능성이 있 MISRA 집행뿐만 아니라.보도에 따르면(당신 판매 담당자), Klocwork 는 않습니다.

우리는 유사한 문제의 개조 Misra 규칙이 있습니다.우리는 몇 가지 코드의 품질 문제가 대규모 프로젝트에서 사용하기로 결정했 MISRA 을 개선하는 코드의 품질입니다.

우리가 사용하는 녹색 언덕을 컴파일러를 지원하는 MISRA C 규칙이 있습니다.도 혼자 대 체 가능합니다.무엇을 원하는가에 따라 그것을 할 수 있는 비트 이상 죽이 엇바꾸기에는 모든 규칙이 있습니다.는 하나 이 규칙에서는 시간을 줄 사람들을 해결하기 위해 시간을 제한된 수의 유사한 문제는 다른 당신은 완전히 압도하는 양에 의하여 오류가 있습니다.

이후의 경고했 컴파일러에 의해 생성 및 독립 도구를 참조 오류에 당신을 개발하고 뿐만 아니라 실행할 때 검사기입니다.우리는 계속한 개발을 우리는 우리의 코드를 준수하지 않에서 하나 빅뱅.이것은 또한지 오래된 습관을 망치고 새 코드를 일으키는 당신이하는 재작업의 코드입니다.

몇 번 그것은 어려운 오래된 코드 규격 때문에 아무도 알고있는 방법을 정확하게 코드 작동합니다.나는 당신이 단위 테스트를 확인할 수 있습니다

나는 감사하는 이가 오래된 질문이지만,의 이익을 위해 다른 어떤 고고학자(또는 검색),기억하는 것이 중요하다는 MISRA 제공 지침 는 항상하지 않을 맹목적으로 따른다.

했던 분들께 찬사를 드리고 싶 새 코드를 작성과 MISRA 에서 마음;따라서 그것은 많은 것을 준수합니다.

그러나,이것은 항상 가능하지 않고에서 특정하려고 할 때,리버스 엔지니어 코드는 지침을 충족.이 경우에는 내가 당신에 초점을 맞출 필요한 규칙을 치료를 권고는 보너스로...비용 v 혜택을 적용합니다.

또한,마음에 부담이 있는 편차 과정-그것은 더 나은 깨끗하게 유지하고 유지 관리할 수 있는 코드는 탈선하는 것보다,꾸미다 일부 호환되지만 읽 스파게티.

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