Cuir mion-sgrùdadh statach an sàs sa phròiseas, seach a bhith ga chleachdadh gus biastagan a lorg

Chaidh mo bhrosnachadh gus an artaigil seo a sgrìobhadh leis an ìre mhòr de stuthan air mion-sgrùdadh statach a tha a ’sìor fhàs a’ tighinn gu m ’aire. An toiseach, seo Blog PVS-stiùidio, a tha gu gnìomhach ga bhrosnachadh fhèin air Habré le cuideachadh bho lèirmheasan air mearachdan a lorgar leis an inneal aca ann am pròiseactan stòr fosgailte. O chionn ghoirid chaidh PVS-studio a chuir an gnìomh Java taic, agus, gu dearbh, luchd-leasachaidh IntelliJ IDEA, aig a bheil coltas gur e an anailisiche togte an fheadhainn as adhartaiche airson Java an-diugh, cha b' urrainn fuireach air falbh.

Nuair a bhios tu a 'leughadh lèirmheasan mar sin, gheibh thu am faireachdainn gu bheil sinn a' bruidhinn mu dheidhinn elixir draoidheachd: brùth air a 'phutan, agus an seo tha e - liosta de lochdan ro do shùilean. Tha e coltach, mar a leasaicheas luchd-anailis, gun lorgar barrachd is barrachd bhiteagan gu fèin-ghluasadach, agus gum fàs na toraidhean a thèid a sganadh leis na h-innealan-fuadain sin nas fheàrr agus nas fheàrr, gun oidhirp sam bith air ar taobh.

Ach chan eil elixirs draoidheachd ann. Bu mhath leam bruidhinn mu na rudan nach eilear a’ bruidhinn ann am puist mar “seo na rudan a lorgas an inneal-fuadain againn”: dè nach urrainn do luchd-anailis a dhèanamh, dè an fhìor àite agus an àite anns a’ phròiseas lìbhrigidh bathar-bog, agus mar a chuireas iad an gnìomh iad gu ceart .

Cuir mion-sgrùdadh statach an sàs sa phròiseas, seach a bhith ga chleachdadh gus biastagan a lorg
Ratchet (stòr: wikipedia).

Dè nach urrainn dha sgrùdairean statach a dhèanamh gu bràth

Dè a th’ ann an mion-sgrùdadh còd stòr, bho shealladh practaigeach? Bidh sinn a’ toirt seachad cuid de chòd stòr mar chur-a-steach, agus mar thoradh, ann an ùine ghoirid (mòran nas giorra na bhith a’ ruith dheuchainnean) gheibh sinn beagan fiosrachaidh mun t-siostam againn. Is e an cuingealachadh bunaiteach agus neo-sheasmhach gu matamataigeach nach fhaigh sinn ach clas fiosrachaidh gu math cumhang san dòigh seo.

Is e an eisimpleir as ainmeil de dhuilgheadas nach gabh fhuasgladh le bhith a’ cleachdadh mion-sgrùdadh statach duilgheadas dùnadh: Is e seo teòirim a tha a 'dearbhadh gu bheil e do-dhèanta algorithm coitcheann a leasachadh a dh'fhaodas dearbhadh bho chòd tùsail prògram co-dhiù an lùb e no a thig gu crìch ann an ùine chrìochnaichte. Tha leudachadh air an teòirim seo Teòirim Rice, a tha ag ràdh, airson seilbh neo-bheag sam bith de ghnìomhan coimpiutaireachd, gu bheil a bhith a’ dearbhadh a bheil prògram neo-riaghailteach a’ measadh gnìomh le leithid de sheilbh na dhuilgheadas algorithmach do-ruigsinneach. Mar eisimpleir, tha e do-dhèanta anailisiche a sgrìobhadh a dh'fhaodas dearbhadh bho chòd stòr sam bith a bheil am prògram a thathar a 'sgrùdadh na bhuileachadh air algairim a bhios a' tomhas, can, squaring an integer.

Mar sin, tha crìochan do-sheachanta aig gnìomhachd sgrùdairean statach. Cha bhith e comasach do mhion-sgrùdaire statach a bhith a’ lorg anns a h-uile cùis rudan leithid, mar eisimpleir, tachartas “eilead puing null” ann an cànanan a leigeas le luach null, no anns a h-uile cùis gus faighinn a-mach dè a thachras “ feart nach deach a lorg" ann an cànanan a tha sgrìobhte gu dinamach. Is e a h-uile rud as urrainn don mhion-sgrùdaire statach as adhartaiche a dhèanamh a bhith a’ soilleireachadh cùisean sònraichte, agus tha an àireamh dhiubh, am measg a h-uile duilgheadas a dh’ fhaodadh a bhith ann leis a ’chòd stòr agad, gun cus cus, a’ tuiteam sa bhucaid.

Chan eil mion-sgrùdadh statach mu bhith a’ lorg bhiteagan

Bho na tha gu h-àrd, tha an co-dhùnadh a 'leantainn: chan eil mion-sgrùdadh statach na dhòigh air an àireamh de lochdan ann am prògram a lùghdachadh. Tha mi an dòchas a ràdh: nuair a thèid a chuir a-steach don phròiseact agad airson a’ chiad uair, lorgaidh e àiteachan “inntinneach” anns a ’chòd, ach, as coltaiche, chan fhaigh e lochdan sam bith a bheir buaidh air càileachd a’ phrògraim agad.

Tha na h-eisimpleirean de lochdan a lorgar gu fèin-ghluasadach le sgrùdairean drùidhteach, ach cha bu chòir dhuinn dìochuimhneachadh gun deach na h-eisimpleirean sin a lorg le bhith a’ sganadh seata mòr de stòran còd mòr. Leis an aon phrionnsapal, bidh hackers aig a bheil an cothrom grunn fhaclan-faire sìmplidh fheuchainn air àireamh mhòr de chunntasan mu dheireadh a ’lorg na cunntasan sin aig a bheil facal-faire sìmplidh.

A bheil seo a’ ciallachadh nach bu chòir mion-sgrùdadh statach a chleachdadh? Gu dearbh chan eil! Agus airson an aon adhbhar gur fhiach sùil a thoirt air gach facal-faire ùr gus dèanamh cinnteach gu bheil e air a ghabhail a-steach don liosta stad de fhaclan-faire “sìmplidh”.

Tha mion-sgrùdadh statach nas motha na bhith a’ lorg bhiteagan

Gu dearbh, tha na duilgheadasan a tha air am fuasgladh gu practaigeach le mion-sgrùdadh mòran nas fharsainge. Às deidh na h-uile, san fharsaingeachd, is e mion-sgrùdadh statach dearbhadh sam bith air còdan stòr a chaidh a dhèanamh mus tèid an cur air bhog. Seo cuid de na rudan as urrainn dhut a dhèanamh:

  • A’ sgrùdadh stoidhle còdaidh anns an t-seagh as fharsainge den fhacal. Tha seo a’ toirt a-steach an dà chuid a bhith a’ sgrùdadh cruth, a’ coimhead airson brathan falamh/a bharrachd a chleachdadh, a’ suidheachadh stairsnich air meatrach mar an àireamh de loidhnichean / iom-fhillteachd cyclomatic dòigh, msaa. Ann an Java, tha inneal mar seo Checkstyle, ann am Python - flake8. Canar “linters” ri prògraman den chlas seo mar as trice.
  • Chan e a-mhàin còd so-ghnìomhaichte a ghabhas sgrùdadh. Faodar (agus bu chòir!) faidhlichean stòrais leithid JSON, YAML, XML, .properties a sgrùdadh gu fèin-ghluasadach airson dligheachd. Às deidh na h-uile, tha e nas fheàrr faighinn a-mach gu bheil structar JSON briste air sgàth cuid de luachan gun chàraid aig ìre thràth de dhearbhadh Iarrtas Tarraing fèin-ghluasadach na aig àm coileanadh deuchainn no ùine ruith? Tha innealan iomchaidh rim faighinn: m.e. YAMLlint, JSONLint.
  • Tha cruinneachadh (no parsadh airson cànanan prògramadh fiùghantach) cuideachd na sheòrsa de sgrùdadh statach. San fharsaingeachd, tha luchd-cruinneachaidh comasach air rabhaidhean a thoirt a-mach a tha a’ nochdadh duilgheadasan le càileachd còd stòr agus nach bu chòir dearmad a dhèanamh orra.
  • Aig amannan tha cruinneachadh nas motha na dìreach a bhith a’ cur ri chèile còd so-ghnìomhaichte. Mar eisimpleir, ma tha sgrìobhainnean agad san fhoirm Dotair Ascii, an uairsin aig an àm a thionndaidheas e gu HTML/PDF an inneal-làimhseachaidh AsciiDoctor (Plug Maven) rabhadh a thoirt seachad, mar eisimpleir, mu cheanglaichean briste a-staigh. Agus is e adhbhar math a tha seo gun a bhith a’ gabhail ris an Iarrtas Tarraing le atharrachaidhean sgrìobhainnean.
  • Tha sgrùdadh litreachaidh cuideachd na sheòrsa de sgrùdadh statach. Goireas aspell comasach air litreachadh a sgrùdadh chan ann a-mhàin ann an sgrìobhainnean, ach cuideachd ann an còdan stòr a’ phrògraim (beachdan agus litrichean) ann an grunn chànanan prògramaidh, nam measg C/C ++, Java agus Python. Tha mearachd litreachaidh anns an eadar-aghaidh cleachdaiche no na sgrìobhainnean cuideachd na uireasbhaidh!
  • Deuchainnean rèiteachaidh (mu dheidhinn dè a th 'annta - faic. seo и seo aithisgean), ged a tha iad air an cur an gnìomh ann an ùine ruith deuchainn aonad leithid pytest, gu dearbh tha iad cuideachd nan seòrsa de mhion-sgrùdadh statach, leis nach bi iad a’ cur an gnìomh còdan stòr nuair a thèid an cur gu bàs.

Mar a chì thu, tha a bhith a’ lorg bhiteagan air an liosta seo a’ cluich an àite as cudromaiche, agus tha a h-uile càil eile ri fhaighinn le bhith a’ cleachdadh innealan stòr fosgailte an-asgaidh.

Dè an seòrsa mion-sgrùdadh statach a bu chòir dhut a chleachdadh sa phròiseact agad? Gu dearbh, mar as motha a tha e nas fheàrr! Is e am prìomh rud a chuir an gnìomh gu ceart, a thèid a dheasbad nas fhaide.

Loidhne-phìoban lìbhrigidh mar shìoltachan ioma-ìre agus mion-sgrùdadh statach mar a’ chiad ìre aige

Is e am meafar clasaigeach airson amalachadh leantainneach loidhne-phìoban tro bheil atharrachaidhean a’ sruthadh, bho atharrachaidhean còd stòr gu lìbhrigeadh gu cinneasachadh. Tha an sreath àbhaisteach de ìrean san loidhne-phìoban seo a’ coimhead mar seo:

  1. mion-sgrùdadh staitigeach
  2. compilyaashiya
  3. deuchainnean aonad
  4. deuchainnean amalachaidh
  5. Deuchainnean UI
  6. sgrùdadh làimhe

Chan eil atharraichean a chaidh a dhiùltadh aig ìre Nth den loidhne-phìoban air an gluasad gu ìre N+1.

Carson dìreach mar seo agus chan ann eile? Anns a’ chuibhreann deuchainn den loidhne-phìoban, aithnichidh luchd-dearbhaidh am pioramaid deuchainn ainmeil.

Cuir mion-sgrùdadh statach an sàs sa phròiseas, seach a bhith ga chleachdadh gus biastagan a lorg
Dèan deuchainn air pioramaid. Stòr: artaigil Màrtainn Fowler.

Aig bonn na pioramaid seo tha deuchainnean a tha nas fhasa a sgrìobhadh, nas luaithe a chur an gnìomh, agus nach eil buailteach a bhith a 'fàilligeadh. Mar sin, bu chòir barrachd dhiubh a bhith ann, bu chòir dhaibh barrachd còd a chòmhdach agus a chuir gu bàs an toiseach. Aig mullach na pioramaid, tha a chaochladh fìor, agus mar sin bu chòir an àireamh de dheuchainnean amalachaidh agus UI a lughdachadh chun ìre as ìsle. Is e an neach anns an t-sreath seo an goireas as daoire, slaodach agus neo-earbsach, agus mar sin tha e aig an fhìor cheann agus cha dèan e ach an obair mura do lorg na h-ìrean roimhe lochdan sam bith. Ach, thathas a’ cleachdadh na h-aon phrionnsapalan airson loidhne-phìoban a thogail ann am pàirtean nach eil ceangailte gu dìreach ri deuchainn!

Bu mhath leam samhlachadh a thabhann ann an cruth siostam sìoltachaidh uisge ioma-ìre. Tha uisge salach (atharrachaidhean le lochdan) air a thoirt don cuir a-steach; aig an toradh feumaidh sinn uisge glan fhaighinn, anns an deach cuir às do gach truailleadh nach eileas ag iarraidh.

Cuir mion-sgrùdadh statach an sàs sa phròiseas, seach a bhith ga chleachdadh gus biastagan a lorg
Filter ioma-ìre. Stòr: Wikimedia Commons

Mar a tha fios agad, tha sìoltachain glanaidh air an dealbhadh gus an urrainn do gach cascade às deidh sin bloigh de thruaillearan a tha a’ sìor fhàs nas grinne a shìoladh. Aig an aon àm, tha toradh nas àirde agus cosgais nas ìsle aig casgan glanaidh nas garbh. Anns an t-samhlachadh againn, tha seo a 'ciallachadh gu bheil geataichean càileachd cuir a-steach nas luaithe, feumach air nas lugha de oidhirp airson tòiseachadh, agus gu bheil iad fhèin nas mì-mhisneachail ann an obrachadh - agus is e seo an t-sreath anns a bheil iad air an togail. Is e àite mion-sgrùdadh statach, a tha, mar a tha sinn a’ tuigsinn a-nis, comasach air na h-uireasbhaidhean as miosa a thoirt a-mach, àite a’ ghriod “eabar” aig fìor thoiseach an casg sìoltachain.

Chan eil mion-sgrùdadh statach leis fhèin a’ leasachadh càileachd an toraidh mu dheireadh, dìreach mar nach eil “sìoltachan eabar” a’ dèanamh uisge ri òl. Agus fhathast, ann an co-bhonn ri eileamaidean eile den loidhne-phìoban, tha a chudromachd follaiseach. Ged a tha e comasach ann an sìoltachan ioma-ìre gu bheil na h-ìrean toraidh comasach air a h-uile dad a nì na h-ìrean cuir a-steach a ghlacadh, tha e soilleir dè a’ bhuil a thig bho oidhirp dèanamh le ìrean glanaidh a-mhàin, às aonais ìrean cuir a-steach.

Is e adhbhar an “grèim eabar” faochadh a thoirt dha casgan às deidh sin bho bhith a’ glacadh lochdan fìor. Mar eisimpleir, aig a’ char as lugha, cha bu chòir aire a thoirt don neach a tha a’ dèanamh ath-sgrùdadh a’ chòd le còd ann an cruth ceàrr agus brisidhean inbhean còdaidh stèidhichte (leithid bracaidean a bharrachd no meuran le neadachadh ro dhomhainn). Bu chòir biastagan mar NPEn a bhith air an glacadh le deuchainnean aonaid, ach ma sheallas an anailisiche dhuinn eadhon ron deuchainn gu bheil bug a’ tachairt, luathaichidh seo gu mòr an suidheachadh.

Tha mi a’ creidsinn gu bheil e a-nis soilleir carson nach eil mion-sgrùdadh statach a’ leasachadh càileachd an toraidh ma thèid a chleachdadh bho àm gu àm, agus gum bu chòir a chleachdadh gu cunbhalach gus atharrachaidhean a shìoladh le uireasbhaidhean mòra. Tha a’ cheist co-dhiù an leasaich inneal-anailis statach càileachd an toraidh agad an ìre mhath co-ionann ri bhith a’ faighneachd, “An tèid càileachd uisge a thoirt bho lòn salach a leasachadh ann an càileachd òil ma thèid e tro cholander?”

Cur an gnìomh ann am pròiseact dìleab

Ceist phractaigeach chudromach: ciamar a chuireas tu mion-sgrùdadh statach an sàs anns a’ phròiseas amalachaidh leantainneach mar “gheata càileachd”? A thaobh deuchainnean fèin-ghluasadach, tha a h-uile dad follaiseach: tha seata de dheuchainnean ann, tha fàilligeadh gin dhiubh na adhbhar gu leòr airson a bhith den bheachd nach deach an co-chruinneachadh seachad air geata càileachd. Tha oidhirp air geata a chuir a-steach san aon dòigh stèidhichte air toraidhean mion-sgrùdadh statach a ’fàiligeadh: tha cus rabhaidhean sgrùdaidh anns a’ chòd dìleab, chan eil thu airson an leigeil seachad gu tur, ach tha e do-dhèanta cuideachd stad a chuir air lìbhrigeadh toradh dìreach air sgàth gu bheil rabhaidhean anailis ann.

Nuair a thèid a chleachdadh airson a ’chiad uair, bidh an anailisiche a’ toirt a-mach àireamh mhòr de rabhaidhean air pròiseact sam bith, agus chan eil a ’mhòr-chuid dhiubh co-cheangailte ri obrachadh ceart an toraidh. Tha e do-dhèanta na beachdan sin uile a cheartachadh aig an aon àm, agus chan eil feum air mòran. Às deidh na h-uile, tha fios againn gu bheil an toradh againn gu h-iomlan ag obair, eadhon mus cuir thu a-steach mion-sgrùdadh statach!

Mar thoradh air an sin, tha mòran air an cuingealachadh ri bhith a’ cleachdadh mion-sgrùdadh statach bho àm gu àm, no ga chleachdadh ann am modh fiosrachaidh a-mhàin, nuair a thèid aithisg anailisiche dìreach a chuir a-mach aig àm co-chruinneachadh. Tha seo co-ionann ri dìth mion-sgrùdadh sam bith, oir ma tha mòran rabhaidhean againn mu thràth, bidh tachartas eile (ge bith dè cho dona) nuair a dh’ atharraicheas tu an còd gun mhothachadh.

Tha fios air na dòighean a leanas airson geataichean càileachd a thoirt a-steach:

  • A 'suidheachadh crìoch air an àireamh iomlan de rabhaidhean no an àireamh de rabhaidhean air an roinn leis an àireamh de loidhnichean còd. Tha seo ag obair gu dona, leis gu bheil geata mar seo gu saor a’ leigeil le atharrachaidhean le lochdan ùra a dhol troimhe, fhad ‘s nach tèid iad thairis air a’ chrìoch aca.
  • A’ càradh, aig àm sònraichte, a h-uile seann rabhadh sa chòd mar nach deach an aire, agus a’ diùltadh togail nuair a thig rabhaidhean ùra ann. Tha an gnìomh seo air a thoirt seachad le PVS-studio agus cuid de ghoireasan air-loidhne, mar eisimpleir, Codacy. Cha robh cothrom agam a bhith ag obair ann an stiùidio PVS, a thaobh m’ eòlas le Codacy, is e am prìomh dhuilgheadas aca gu bheil a bhith a’ dearbhadh dè a th’ ann an “seann” agus dè a th’ ann am mearachd “ùr” na algairim caran toinnte nach bi an-còmhnaidh ag obair. ceart, gu sònraichte ma tha faidhlichean air an atharrachadh gu mòr no air an ath-ainmeachadh. Anns an eòlas agam, dh'fhaodadh Codacy rabhaidhean ùra a leigeil seachad ann an iarrtas tarraing, agus aig an aon àm gun a bhith a 'dol seachad air iarrtas tarraing air sgàth rabhaidhean nach robh co-cheangailte ri atharrachaidhean ann an còd PR sònraichte.
  • Nam bheachd-sa, is e am fuasgladh as èifeachdaiche am fear a tha air a mhìneachadh san leabhar Lìbhrigeadh leantainneach “dòigh sgrìobadh”. Is e am beachd bunaiteach gu bheil an àireamh de rabhaidhean anailis statach na sheilbh de gach foillseachadh, agus chan eil ach atharrachaidhean ceadaichte nach àrdaich an àireamh iomlan de rabhaidhean.

Ratchet

Bidh e ag obair mar seo:

  1. Aig a 'chiad ìre, tha clàr air a dhèanamh anns a' mheata-dàta mu sgaoileadh an àireamh de rabhaidhean anns a 'chòd a lorg an luchd-anailis. Mar sin, nuair a thogas tu suas an abhainn, bidh am manaidsear tasgaidh agad a’ sgrìobhadh chan e a-mhàin “release 7.0.2”, ach “release 7.0.2 anns a bheil 100500 rabhaidhean stoidhle seic.” Ma chleachdas tu manaidsear tasgaidh adhartach (leithid Artifactory), tha e furasta meata-dàta mar sin a stòradh mun fhoillseachadh agad.
  2. A-nis bidh gach iarrtas tarraing, nuair a thèid a thogail, a’ dèanamh coimeas eadar an àireamh de rabhaidhean a thig às agus an àireamh de rabhaidhean a tha rim faighinn san fhoillseachadh gnàthach. Ma tha PR a 'leantainn gu àrdachadh san àireamh seo, chan eil an còd a' dol seachad air a 'gheata càileachd airson mion-sgrùdadh statach. Ma tha an àireamh de rabhaidhean a 'lùghdachadh no ag atharrachadh, thèid e seachad.
  3. Aig an ath fhoillseachadh, thèid an àireamh ath-àireamhaichte de rabhaidhean a chlàradh a-rithist anns a’ mheata-dàta fuasglaidh.

Mar sin beag air bheag ach mean air mhean (mar nuair a bhios ratchet ag obair), bidh an àireamh de rabhaidhean buailteach gu neoni. Gu dearbh, faodar an siostam a mhealladh le bhith a 'toirt a-steach rabhadh ùr, ach a' ceartachadh rabhadh cuideigin eile. Tha seo àbhaisteach, oir thar astar fada tha e a 'toirt seachad toraidhean: tha rabhaidhean air an ceartachadh, mar riaghailt, chan ann leotha fhèin, ach ann am buidheann de sheòrsa sònraichte aig an aon àm, agus thèid a h-uile rabhadh a tha furasta a thoirt air falbh a chuir às gu math luath.

Tha an graf seo a’ sealltainn an àireamh iomlan de rabhaidhean Checkstyle airson sia mìosan de dh’ obair “ratchet” mar sin air adhart aon de na pròiseactan OpenSource againn. Tha an àireamh de rabhaidhean air a dhol sìos le òrdugh meudachd, agus thachair seo gu nàdarra, ann an co-shìnte ri leasachadh toraidh!

Cuir mion-sgrùdadh statach an sàs sa phròiseas, seach a bhith ga chleachdadh gus biastagan a lorg

Bidh mi a’ cleachdadh dreach atharraichte den dòigh seo, a’ cunntadh rabhaidhean fa leth le modal pròiseict agus inneal sgrùdaidh, a’ leantainn gu faidhle YAML le meata-dàta togail a tha a’ coimhead rudeigin mar seo:

celesta-sql:
  checkstyle: 434
  spotbugs: 45
celesta-core:
  checkstyle: 206
  spotbugs: 13
celesta-maven-plugin:
  checkstyle: 19
  spotbugs: 0
celesta-unit:
  checkstyle: 0
  spotbugs: 0

Ann an siostam CI adhartach sam bith, faodar ratchet a chuir an gnìomh airson innealan sgrùdaidh statach sam bith gun a bhith an urra ri plugins agus innealan treas-phàrtaidh. Bidh gach anailisiche a’ dèanamh a h-aithisg fhèin ann an cruth teacsa sìmplidh no XML a tha furasta a sgrùdadh. Chan eil air fhàgail ach an loidsig riatanach a sgrìobhadh anns an sgriobt CI. Chì thu mar a tha seo air a bhuileachadh anns na pròiseactan stòr fosgailte againn stèidhichte air Jenkins agus Artifactory an seo no an seo. Tha an dà eisimpleir an urra ris an leabharlann ratchetlib: modh countWarnings() a’ cunntadh tagaichean xml ann am faidhlichean air an gineadh le Checkstyle agus Spotbugs san dòigh àbhaisteach, agus compareWarningMaps() a 'buileachadh an aon ratchet, a' tilgeil mearachd nuair a tha an àireamh de rabhaidhean ann an gin de na roinnean-seòrsa àrdachadh.

Tha e comasach buileachadh inntinneach den “ratchet” airson mion-sgrùdadh a dhèanamh air litreachadh bheachdan, litrichean teacsa agus sgrìobhainnean a ’cleachdadh aspell. Mar a tha fios agad, nuair a thathar a’ sgrùdadh litreachaidh, chan eil a h-uile facal nach eil eòlach air an fhaclair àbhaisteach ceàrr; faodar an cur ri faclair a’ chleachdaiche. Ma nì thu faclair àbhaisteach mar phàirt de chòd stòr a’ phròiseict, faodar an geata càileachd litreachaidh a dhealbhadh san dòigh seo: ruith aspell le faclair àbhaisteach agus gnàthaichte cha bu chòir lorg mearachdan litreachaidh sam bith.

Mu cho cudromach sa tha an tionndadh anailisiche a rèiteachadh

Ann an co-dhùnadh, is e a’ phuing ri thoirt fa-near, ge bith ciamar a chuireas tu mion-sgrùdadh an sàs anns an loidhne-phìoban lìbhrigidh agad, feumar dreach an anailisiche a shuidheachadh. Ma leigeas tu leis an anailisiche ùrachadh gun spionnadh, an uairsin nuair a bhios tu a’ cur ri chèile an ath iarrtas tarraing, faodaidh uireasbhaidhean ùra “pop up” nach eil co-cheangailte ri atharrachaidhean còd, ach a tha co-cheangailte ris gu bheil an anailisiche ùr dìreach comasach air barrachd lochdan a lorg - agus brisidh seo am pròiseas agad airson gabhail ri iarrtasan tarraing. Bu chòir gum biodh e na ghnìomh mothachail a bhith ag ùrachadh anailisiche. Ach, sa chumantas tha suidheachadh cruaidh air dreach gach pàirt cruinneachaidh na riatanas riatanach agus na chuspair airson deasbad air leth.

toraidhean

  • Cha lorg mion-sgrùdadh statach bugaichean dhut agus cha leasaich e càileachd an toraidh agad mar thoradh air aon iarrtas. Chan urrainnear buaidh mhath a thoirt air càileachd ach le bhith ga chleachdadh gu cunbhalach tron ​​​​phròiseas lìbhrigidh.
  • Chan e lorg bhiteagan am prìomh obair sgrùdaidh idir; tha a’ mhòr-chuid de ghnìomhan feumail rim faighinn ann an innealan opensource.
  • Cuir geataichean càileachd an gnìomh stèidhichte air toraidhean mion-sgrùdadh statach aig a’ chiad ìre den loidhne-phìoban lìbhrigidh, a’ cleachdadh “ratchet” airson còd dìleab.

iomraidhean

  1. Lìbhrigeadh leantainneach
  2. A. Kudryavtsev: Mion-sgrùdadh phrògraman: mar a thuigeas tu gu bheil thu nad phrògramadair math aithris air diofar dhòighean air mion-sgrùdadh còd (chan e a-mhàin statach!)

Source: www.habr.com

Cuir beachd ann