Hoʻokele ka hapa nui o nā hui ʻenekinia i ʻelua mau kamaʻilio kaʻawale e pili ana i ke codebase like. ʻO kekahi e pili ana i ka palekana: aia kahi pilikia SQL injection, kahi mea huna paʻa, kahi hilinaʻi hiki ke hoʻohana ʻia. ʻO kekahi e pili ana i ka mālama ʻana: he paʻakikī loa kēia hana, ua kope ʻia kēia code ʻekolu manawa, aia kekahi code make ʻaʻohe mea e ʻaʻa e holoi.
ʻO ka maʻamau, hana ʻia kēia mau kamaʻilio ʻana ma nā mea hana like ʻole, i mālama ʻia e nā hui like ʻole, ma nā papa hana like ʻole. Hōʻailona kahi scanner palekana i ka mea hiki ke hoʻohana ʻia. ʻO kahi mea hana maikaʻi kaʻawale, i kūʻai pinepine ʻia a mālama ʻia me ke kūʻokoʻa, hōʻailona i ka mea pipiʻi e mālama. ʻElua laikini, ʻelua dashboards, ʻelua mau parser e hele ana i ka lāʻau syntax abstract like e pane i ʻelua mau nīnau like ʻole.
He kumukūʻai ko kēlā māhele ʻana. ʻAʻole loaʻa i nā hemahema hilinaʻi (ʻo ke ʻano e hoʻopilikia ai i ka holo ʻana o ka manawa, ʻaʻole nā haʻihaʻi) ka hoʻopaʻi triage like me nā ʻike palekana, no ka mea, noho lākou ma waho o ka hui palekana. dashboardA i ka wā e loaʻa ai i kahi hui kahi ʻenekini loiloi static e kālailai ana i kēlā me kēia faila no nā kumu palekana, ʻo ke kū ʻana i kahi ʻenekini ʻelua, pili ʻole e nānā wale i ka maikaʻi o ke code he hana hana ʻole me ka loaʻa ʻole o ka pōmaikaʻi like.
No ke aha he mea nui ka maikaʻi o ke code (a pehea e ʻokoʻa ai mai Code Security)
ʻO ke kūlana o ke code a me code security e pane i ʻelua mau nīnau like ʻole. Code security nīnau: hiki ke hoʻohana ʻia kēia code? Nīnau ka maikaʻi o ke code: hiki ke mālama ʻia kēia code? Hiki i kahi hana ke palekana loa a lilo mau i ʻelima haneli laina hiʻohiʻona ʻaʻohe mea makemake e hoʻopā, a hiki i kahi module i hoʻonohonoho pono ʻia a maʻalahi hoʻi e heluhelu ke hoʻouna ʻia me kahi hemahema injection koʻikoʻi. ʻAʻole hiki i kekahi o nā aʻo ke pani no kekahi.
ʻAʻole ʻike ʻia ke kumukūʻai o ka hoʻowahāwahā ʻana i ka maikaʻi o ke code ma ke ʻano he uhaki. Hōʻike lohi ia: ʻelua pule ka lōʻihi o kahi limahana hou ma kahi o ʻelua lā e hana ai i kahi hoʻololi palekana, ʻekolu sprints ka lōʻihi o kahi hiʻohiʻona maʻamau no ka mea ʻaʻohe mea hiki ke wānana i ka mea e haki ai kahi poloka pālua ma kahi ʻē aʻe, hoʻopau kahi ʻenekinia kelepona i hoʻokahi hola e hahai ana i kahi bug ma o ke code make i pono e wehe ʻia i hoʻokahi makahiki i hala. ʻAʻohe o kēlā e hoʻopilikia i kahi makaʻala palekana. Hōʻike ʻia nā mea āpau i ka wikiwiki, a i ka manawa e ʻike ʻia ai i kahi sprint retro, ua pipiʻi mua ke hoʻoponopono.
ʻO ia ke ʻano no ka mālama ʻana i ka maikaʻi me ka ʻoiaʻiʻo like me ka palekana: ʻaʻole no ka mea he hoʻoweliweli kahi ʻala code, akā no ka mea, ʻo ka ʻae ʻana i ka hōʻiliʻili ʻana o ka ʻaiʻē mālama pono ʻole e nānā ʻia pehea e lilo ai kahi codebase i kahi e make ai nā hiʻohiʻona.
ʻO ke Ala Maikaʻi: Hoʻokahi ʻenekini, ʻElua Papa Inoa Rula
Hoʻopili ka scanner Code Quality a Xygeni i ke code kumu no nā hemahema mālama a me ka hilinaʻi: nā ʻala code, nā uhaki ʻana i ka paʻakikī, ke code make, a me ka hana pālua - nā ʻano hana ʻaʻole ia e hoʻokumu i kahi uhaki akā e hoʻoulu ai i nā outages, regressions, a me nā hui e neʻe lohi ana.
ʻO ke koho hoʻolālā ʻokoʻa he kuhikuhipuʻuone, ʻaʻole he mea hoʻonaninani. Kaʻana like ʻo Code Quality i kāna ʻenekini loiloi static me ʻO Xygeni SAST polokalamu uila: nā mea hoʻokaʻawale like, ke kūkulu AST like, ka ʻike faila like. ʻO ka mea ʻaʻole ia e kaʻana like, ʻo ia ka papa inoa lula. Hoʻopili ʻia nā lula maikaʻi i ka maikaʻi, ʻaʻole i ka palekana, a ua hōʻike ʻia nā ʻike ma kahi ʻāpana Kūlana i hoʻolaʻa ʻia o ka paepae Xygeni, i mālama ʻia kaʻawale mai SAST a me ke koena o nā papa pilikia palekana.
ʻO ka hopena: loaʻa i nā hui kahi hiʻohiʻona mālama a me kahi hiʻohiʻona palekana mai ka palapala loiloi like, me ka ʻole o ka hoʻohui ʻana i ʻelua mau hopohopo like ʻole i hoʻokahi walaʻau. dashboard.
ʻElua Ala e Loaʻa ai kahi Hōʻailona Kūlana i kāu Pipeline
ʻAʻole hana like nā hiʻohiʻona "code quality" āpau ma lalo o ke poʻi. He nui CI/CD-ʻo nā mea hana maikaʻi maoli he mau papa hōʻuluʻulu: ʻAʻole lākou e kālailai i kāu code iā lākou iho; lawe mai lākou i nā hopena mai kēlā me kēia linter āu e holo nei (kahi linter JavaScript, kahi linter Python, kahi mea ʻike duplication), ua hoʻoponopono hou ʻia kēlā me kēia i loko o kahi schema JSON i kaʻana like ʻia, ua hoʻopaʻa ʻia kēlā me kēia me he mea lā nona iho. pipeline kaʻanuʻu. He mea maʻalahi kēlā, akā ʻo ia hoʻi ke kūlike o kāu hōʻailona maikaʻi e like me nā mea hana like ʻole, nā ʻano, a me nā mea mālama āu i humuhumu pū ai, hoʻokahi no kēlā me kēia ʻōlelo.
Lawe ka mea nānā Code Quality o Xygeni i ke ala ʻē aʻe: hoʻokahi ʻenekini maoli, e holo nei no ka palekana, i hoʻonui ʻia me kahi papa inoa lula maikaʻi. ʻAʻohe linter no kēlā me kēia ʻōlelo e hoʻokomo, ʻaʻohe ʻano hōʻike e hoʻoponopono hou, ʻaʻohe hana kaʻawale e mālama i kēlā me kēia mea hana. Loaʻa iā ʻoe hoʻokahi kauoha, hoʻokahi kumu hoʻohālike koʻikoʻi kūlike, a hoʻokahi dashboard ʻāpana, no ka mea, ʻaʻole i hoʻokaʻawale ʻia ka loiloi ma waena o nā mea hana i ka hoʻomaka ʻana.
Pehea e hana ai?
Holo ke Code Quality ma ke ʻano he kauoha CLI ponoʻī:
ʻano xygeni -d [nā koho] (hana ka maikaʻi o ke code-quality xygeni ma ke ʻano he alias.)
Kaʻana like ia i kāna kumu hoʻohālike koho me xygeni sast, no laila e ʻike koke kekahi e holo nei i ka scanner palekana a Xygeni i ka interface:
| koho | He aha? |
|---|---|
-d, --dir | Papa kuhikuhi e kālailai ai |
--detectors | E holo i nā ID ʻike kikoʻī, a i ʻole kahi koʻikoʻi a me nā mea āpau ma luna ona |
--fail-on | E puka i waho o ka zero ma kahi koʻikoʻi i hāʻawi ʻia, no CI/CD ka puka ʻana |
--baseline | E hoʻohālikelike me kahi kahua paʻa a hoʻihoʻi wale i nā ʻike hou |
--upload | E hoʻouna i nā hopena i ka paepae Xygeni |
Ke hana nei i kahi hōʻike maikaʻi o ke code
Hoʻopuka kahi scan i kahi hōʻike maikaʻi code hiki iā ʻoe ke hoʻouna i ka paepae, hoʻokuʻu aku ma ke ʻano he JSON no nā mea hana CI, a i ʻole e hāʻawi i kahi alakaʻi hui me ka ʻole o ka hāʻawi ʻana iā lākou. dashboard komo. He mau kauoha laina hoʻokahi nā mea ʻelua:
# E scan a hoʻouka pololei i ka paepae Xygeni
xygeni quality -n MyProject –hoʻouka
# Hoʻokuʻu aku i kahi hōʻike maikaʻi code ma ke ʻano he JSON, nā ʻike koʻikoʻi wale nō
ʻano xygeni -d –nā mea ʻike koʻikoʻi –format json –output quality.json
Ke hoʻouka ʻia, ʻo ia hōʻike maikaʻi code like ka mea e hoʻopiha ai i ka ʻāpana Quality o ka dashboard: hiki ke kānana ʻia, me nā kikoʻī paheʻe no kēlā me kēia ʻike, nā kumu, a me nā hui hana hōʻike like e hoʻohana nei no SAST.
Ke holo nei ka maikaʻi me ka nānā ʻana i ka palekana
No nā hui e makemake ana i nā hōʻailona ʻelua mai kahi pass hoʻokahi, ʻo ka SAST ʻae ka mīkini nānā i kahi –hoʻokomo-maikaʻi hae:
xygeni sast -d –hoʻokomo-maikaʻi
no ka mea, SAST a me ke Code Quality e kaʻana like i ke kahua parser, ʻoi aku ka maikaʻi o kēia ma mua o ka holo ʻana i nā scanner ʻelua i hope. Hoʻopuka ia i ʻelua mau hōʻike kaʻawale, ka palekana a me ka maikaʻi, a pae mau kēlā me kēia i kāna iho dashboard ʻāpana. Hoʻololi ka hae i ke ʻano o ka hana ʻana o ke scan, ʻaʻole pehea e hoʻonohonoho ʻia ai nā hopena.
Ke nānā nei me ka ʻole o ka pilina pūnaewele
No nā wahi ea-gapped a i ʻole nā mea holo CI me ka ʻole o ka puka ʻana i ka paepae Xygeni, hiki ke holo nā scans maikaʻi ma kahi kūloko a hoʻouka ʻia ma hope:
ʻano xygeni -d -n KaʻuPapahana
# …ma hope mai, mai kahi kikowaena me ka pilina:
hoʻouka hōʻike xygeni -n MyProject -r depsdoctor-quality.json
Hōʻea nā ʻike ma ka ʻāpana Quality e like me kā lākou e hana ai mai kahi scan ola: triage like, kulekele like, hana kumu like.
No ke aha e hoʻokaʻawale ai i ka maikaʻi mai nā mea palekana
He mea maʻalahi ke hoʻopili i nā ʻala code i loko o ka papa inoa koʻikoʻi like me kahi nāwaliwali hiki ke hoʻohana ʻia. ʻAʻole hana ʻo Xygeni me ka manaʻo. ʻAʻole like ke ʻano o ka pilikia o kahi hana i pālua ʻia a me ka injection SQL, a ʻo ka mālama ʻana iā lākou ma ke ʻano like e hoʻomaʻamaʻa i nā hui e pane nui i ka walaʻau mālama a i ʻole pane ʻole i nā ʻike palekana maoli. Ke mālama nei i nā papa inoa lula, nā hōʻike, a me ka dashboard kaʻawale nā manaʻo, ʻoiai ke kaʻana like nei i ka ʻenekini ma lalo, ʻo ia hoʻi ke loaʻa i kēlā me kēia hui ka hōʻailona e pili ana iā lākou me ka ʻole o ka uku ʻana no kahi mea hana loiloi static lua.
E hoʻāʻo: Loaʻa ke Code Quality i kēia lā ma o ka Xygeni CLI. Ke holo nei nā hui xygeni sast hiki ke hoʻohui –hoʻokomo-maikaʻi i kā lākou mea e kū nei pipeline ma ka laina hoʻokahi, ʻaʻohe mea hana hou e kau ai, ʻaʻohe lua dashboard e nānā.
Nīnau Hoʻoholo Pine
He aha ke ʻano o ke code Xygeni?
ʻO Xygeni Code Quality kahi scanner loiloi static e ʻike ana i nā hemahema mālama a me ka hilinaʻi, me nā ʻala code, nā uhaki paʻakikī, nā code make, a me ka hana pālua. Holo ia ma ke ʻano he kauoha ponoʻī (ka maikaʻi o xygeni) a hōʻike i loko o kahi ʻāpana Kūlana i hoʻolaʻa ʻia o ka paepae Xygeni, kaʻawale mai nā ʻike palekana.
Ua like anei ke ʻano o ke code me SAST?
Helu. Kūlana Code a me SAST e kaʻana like i ka ʻenekini parsing like akā e hoʻohana i nā papa inoa lula kūʻokoʻa a hana i nā hōʻike kūʻokoʻa. SAST ke nānā nei i nā nāwaliwali o ka palekana; ke nānā nei ke Code Quality i nā hemahema o ka mālama ʻana a me ka hilinaʻi.
Hiki iaʻu ke holo i kahi scan maikaʻi a me kahi scan palekana i ka manawa like?
ʻAe. Ke holo nei xygeni sast -d –hoʻokomo-maikaʻi hoʻokō i nā hoʻonohonoho lula ʻelua i hoʻokahi ala, ʻoi aku ka maikaʻi ma mua o ka holo ʻana i nā scanner ʻelua ma ke kaʻawale, ʻoiai ke kaʻana like nei lākou i ke kahua parser. Hoʻopuka mau nā hopena i ʻelua mau hōʻike kaʻawale a ʻike ʻia ma ʻelua mau hōʻike kaʻawale dashboard ʻāpana.
Pono anei au i kahi laikini ʻokoʻa no ke Code Quality?
Pono ka kuleana Code Quality no ka hoʻouka ʻana a me ka nānā ʻana i nā hopena maikaʻi, ʻo ia ka mea like e pono ai no ka holo ʻana i ka scan.
Hiki ke holo ke Code Quality me ka ʻole o ke komo ʻana i ka pūnaewele?
ʻAe. Hiki i nā scan ke holo kūloko me ka ʻole o ka –hoʻouka hae, a hiki ke hoʻouka ʻia ka hōʻike hopena ma hope mai kahi kikowaena i hoʻopili ʻia me ka hoʻohana ʻana hoʻouka hōʻike xygeni.





