Ngati mupanga linanena bungwe mu mode fullhtml, ndiye kuti uthenga uliwonse uli ndi chiyanjano cha kufotokozera kwa matenda, ndi mafotokozedwe, zitsanzo zamakhodi ndi maulalo owonjezera.
Tsoka ilo, PVS nthawi zina imapanga zolakwika za syntax ndikupanga mauthenga abodza pomwe codeyo ili yolondola.
Mwachitsanzo, pali ntchito yomwe imabwerera void:
template <typename T>
auto copy (const void * source, void * destination)
->
std::enable_if_t
<
std::is_copy_constructible<T>::value
>
{
new (destination) T(*static_cast<const T *>(source));
}
Inde ndi mawu ofunika auto Angatanthauze void, ndichifukwa chake galimoto. Koma PVS idatulutsa mauthenga awa:
dynamic_tuple_management.hpp:29:1: error: V591 Non-void function should return a value.
dynamic_tuple_management.hpp:29:1: error: V2542 Function with a non-void return type should return a value from all exit paths.
Tsamba lochedwa kwambiri
Inde, mu mawonekedwe a intaneti pafupi ndi uthenga uliwonse pali ulalo wa kufotokozera kofananira ndi zitsanzo. Koma mukadina ulalo, muyenera kudikirira nthawi yayitali, ndipo nthawi zina zimachitika 504 Gateway Nthawi Yatha.
Chilankhulo
Mafotokozedwe onse ali mu Chirasha, chomwe chiri chabwino. Koma maulalo a lipotilo amatsogolera ku mtundu wa Chingerezi. Zingakhale zabwino kusintha chinenerocho kuti muwone matenda nthawi yomweyo mu Chirasha. Sindinapeze njira yotereyi mu mawonekedwe.
Ndikovuta kugwira ntchito ndi magawo ozindikira matenda kudzera pa console
-a [MODE], --analysis-mode [MODE]
MODE defines the type of warnings:
1 - 64-bit errors;
2 - reserved;
4 - General Analysis;
8 - Micro-optimizations;
16 - Customers Specific Requests;
32 - MISRA.
Modes can be combined by adding the values
Default: 4
Ndinakhala nthawi yayitali ndikufufuza komwe ndingapite onjezani ("adding the values") makiyi. Ndidayesa kuzilemba zolekanitsidwa ndi ma comma:
Mwambiri, sizodziwika. Ndicho chifukwa chake ndinayika zonse pamlingo waukulu.
Gulu la opusa akutukwana pa Gwirani
Awiri mwa ma projekiti atatu omwe ndidasanthula amagwiritsa ntchito laibulale yoyesera mayunitsi Kugwira2. Ndipo gawo la mkango la mauthenga (!!! 90 mwa 138 mwa umodzi ndi 297 mwa 344 mwa winayo !!!) ali ndi mawonekedwe awa:
Osatengera multithreading
Pali zabwino zambiri zabodza zokhudzana ndi zosintha zosasinthika kapena malupu osatha, pomwe kugwira ntchito ndi zosinthazi kumachitika kuchokera ku ulusi wosiyanasiyana, ndipo ngati sizinali choncho, ndiye kuti kuyesa kwamayunitsi sikungagwire ntchito.
Kawirikawiri, malingaliro ochokera kwa osanthula onsewa ndi ofanana: inde, amapeza chinachake, nthawi zina ngakhale chinthu chofunika, koma wophatikiza ndi wokwanira.
N'zotheka (ndipo ine ndekha ndimakonda kuganiza choncho) kuti gulu lathu limagwiritsa ntchito machitidwe opangira mapulogalamu omwe amatilola kuti tipange chiwerengero chochepa cha shitty code. Ndi bwino kuti musabweretse mavuto kusiyana ndi kuwagonjetsa mwaulemu.
Chifukwa chake, ndimakhala ndi ufulu wopereka upangiri wamomwe mungalembe mu C ++ kuti musawombere miyendo ya aliyense kapena kumenya aliyense pamphumi.
Ndikuganiza kuti lingalirolo ndi lomveka. Pali mikangano yokhazikitsidwa yomwe siyimangirira, koma kuti ogwiritsa ntchito onse ndi owerenga ma code anu akuyembekeza kuwona. Osayesa kuchita mopambanitsa ena, apo ayi mungadzipambanitse.
Lembani code yogwirizana
Choyamba, ndikutanthauza laibulale yokhazikika. Ndizofunikira kwambiri kuti zolumikizirana zamakalasi anu ndi ntchito zigwiritsidwe ntchito ndi malaibulale okhazikika ndi ena (mwachitsanzo, Boost).
Khalani omasuka kuyang'ana mawonekedwe a STL ndi Boost. Kupatulapo kawirikawiri, mudzawona chitsanzo choyenera pamenepo.
Gwiritsani ntchito bwino zida zotsegula
Pakuwunika kofananako, pali zida ziwiri zotseguka zaulere zomwe zitha kulumikizidwa kamodzi ku polojekiti iliyonse ndi CMake build system.