Mai ʻae ʻoe e hoʻomohala i kahi mea āu i maopopo ʻole ai

Mai ʻae ʻoe e hoʻomohala i kahi mea āu i maopopo ʻole ai

Mai ka hoʻomaka ʻana o 2018, ua paʻa wau i ke kūlana o ke alakaʻi / luna / alakaʻi mea hoʻomohala ma ka hui - e kāhea iā ia i kāu mea e makemake ai, akā ʻo ka manaʻo ʻo wau ke kuleana piha no kekahi o nā modules a no nā mea hoʻomohala āpau e hana nei. ma luna o laila. Hāʻawi kēia kūlana iaʻu i kahi hiʻohiʻona hou e pili ana i ke kaʻina hana hoʻomohala, ʻoiai ua komo wau i nā papahana hou aʻe a ʻoi aku ka ikaika i ka hoʻoholo ʻana. I kēia mau lā, mahalo i kēia mau mea ʻelua, ua ʻike koke wau i ka nui o ke ana o ka ʻike e pili ana i ke code a me ka noi.

ʻO ka mea aʻu e makemake ai e hana, ʻo ka maikaʻi o ke code (a me ka huahana hope) e pili kokoke ana i ka ʻike o ka poʻe e hoʻolālā a kākau ana i ke code i kā lākou hana.

E noʻonoʻo paha ʻoe i kēia manawa, "Mahalo, Cap. ʻOiaʻiʻo, maikaʻi ke hoʻomaopopo i kāu mea e kākau nei ma ke ʻano laulā. A i ʻole, hiki iā ʻoe ke hoʻolimalima i kahi pūʻulu o nā monkey e paʻi i nā kī kī ʻole a waiho i kēlā. A pololei loa ʻoe. No laila, ke manaʻo nei au e ʻike ʻoe he pono ka manaʻo nui o kāu mea e hana nei. Hiki ke kapa ʻia kēia ʻo ka pae ʻole o ka hoʻomaopopo ʻana, ʻaʻole mākou e nānā kikoʻī. E nānā kikoʻī mākou i ka mea e pono ai ʻoe e hoʻomaopopo a pehea e pili ai i nā hoʻoholo āu e hana ai i kēlā me kēia lā. Inā wau i ʻike i kēia mau mea ma mua, e hoʻopakele iaʻu i ka manawa pau ʻole a me nā code nīnau.

ʻOiai ʻaʻole ʻoe e ʻike i hoʻokahi laina o ke code ma lalo nei, ke manaʻoʻiʻo nei au he mea koʻikoʻi nā mea a pau i ʻōlelo ʻia ma aneʻi no ke kākau ʻana i ke code kiʻekiʻe, expressive code.

Ka pae mua o ka hoʻomaopopo ʻana: No ke aha ʻaʻole pono?

Hiki i nā mea hoʻomohala ke hiki i kēia pae i ka hoʻomaka ʻana o kā lākou ʻoihana, i kekahi manawa me ke kōkua ʻole mai nā poʻe ʻē aʻe - ma ka liʻiliʻi loa i koʻu ʻike. E noʻonoʻo ua loaʻa iā ʻoe kahi hōʻike bug: ʻaʻole hana kekahi hana i ka noi, pono e hoʻoponopono ʻia. Pehea ʻoe e hoʻomau ai?

ʻO ka papahana maʻamau e like me kēia:

  1. E ʻimi i ka ʻāpana code e pilikia ai (pehea e hana ai i kēia kumuhana ʻokoʻa, uhi wau i loko o kaʻu puke e pili ana i ke code hoʻoilina)
  2. E hoʻololi i kēia snippet
  3. E hōʻoia i ka paʻa ʻana o ka bug a ʻaʻohe hewa regression

I kēia manawa, e nānā kākou i ka helu ʻelua - e hoʻololi i ke code. ʻElua ala i kēia kaʻina hana. ʻO ka mea mua, ʻo ka ʻimi ʻana i ka mea e hana nei i ke code o kēia manawa, e ʻike i ka hewa a hoʻoponopono. ʻElua: neʻe ma ka manaʻo - hoʻohui, ʻōlelo, +1 i kahi ʻōlelo kūlana a i ʻole loop, e ʻike inā hana ka hana i ke ʻano i makemake ʻia, a laila e hoʻāʻo i kahi mea ʻē aʻe, a pēlā aku ad infinitum.

ʻO ke ala mua he pololei. E like me kā Steve McConnell wehewehe i kāna puke Code Complete (ʻo ia kaʻu e ʻōlelo nui ai, ma ke ala), i kēlā me kēia manawa a mākou e hoʻololi ai i kekahi mea i ke code, pono mākou e wānana me ka hilinaʻi pehea e pili ai i ka noi. Ke ʻōlelo nei au mai ka hoʻomanaʻo ʻana, akā inā ʻaʻole hana kahi bugfix i ke ala āu i manaʻo ai, pono ʻoe e hopohopo nui a pono ʻoe e nīnau i kāu hoʻolālā hana holoʻokoʻa.

No ka hōʻuluʻulu ʻana i ka mea i ʻōlelo ʻia, i mea e hoʻokō ai i kahi hoʻoponopono bug maikaʻi ʻaʻole e hoʻohaʻahaʻa i ka maikaʻi o ke code, pono ʻoe e hoʻomaopopo i ke ʻano holoʻokoʻa o ke code a me ke kumu o ka pilikia kikoʻī.

ʻElua pae o ka hoʻomaopopo: No ke aha e hana ai?

Hoʻomaopopo ʻia kēia pae me ka liʻiliʻi o ka intuitive ma mua o ka mua. ʻO wau, ʻoiai he mea hoʻomohala novice, ua aʻo ʻia ia mahalo i koʻu haku, a ma hope ua wehewehe pinepine i ke ʻano o ia mea i nā poʻe hou.

I kēia manawa, e noʻonoʻo kākou ua loaʻa iā ʻoe ʻelua hōʻike ʻino i ka manawa hoʻokahi: ʻo ka mua e pili ana i ke ʻano A, ʻo ka lua e pili ana i ke ʻano B. Ma nā hiʻohiʻona ʻelua, hiki mai kekahi hewa. No laila, e hoʻoponopono mua ʻoe i ka bug mua. Me ka hoʻohana ʻana i nā loina a mākou i hoʻomohala ai no ka hoʻomaopopo ʻana i ka Papa XNUMX, e ʻeli hohonu ʻoe i ke code e pili ana i ka pilikia, e noʻonoʻo i ke kumu e hana ai ka palapala noi i ke ʻano o ia hana ma Scenario A, a hana i nā hoʻololi kūpono e hoʻopuka i ka hopena āu e makemake ai. . Hele maikaʻi nā mea a pau.

A laila, neʻe ʻoe i ka hiʻohiʻona B. E hana hou ʻoe i ke ʻano i ka hoʻāʻo ʻana e hoʻonāukiuki i kahi hewa, akā—kahaha! - I kēia manawa, hana nā mea a pau e like me ka mea e pono ai. No ka hōʻoia ʻana i kāu kuhi, hoʻopau ʻoe i nā hoʻololi āu i hana ai i ka wā e hana ana ma ka bug A, a hoʻi mai ka bug B. Ua hoʻoponopono kāu bugfix i nā pilikia ʻelua. Laki!

ʻAʻole ʻoe i helu i kēia. Ua loaʻa iā ʻoe kahi ala e hoʻoponopono ai i ka hewa ma ke ʻano A a ʻaʻohe ʻike i ke kumu o ka hana ʻana no ke kūlana B. I kēia wā, he mea hoʻowalewale loa ke noʻonoʻo ua hoʻopau pono nā hana ʻelua. He kūpono kēia: ʻo ke kumu e hoʻopau i nā hewa, ʻaʻole anei? Akā ʻaʻole i pau ka hana: pono ʻoe e noʻonoʻo i ke kumu i hoʻoponopono ai kāu mau hana i ka hewa ma ke ʻano B. No ke aha? No ka mea e hana ana paha ia ma nā loina hewa, a laila pono ʻoe e ʻimi i kahi ala ʻē aʻe. Eia kekahi mau laʻana o ia mau hihia:

  • No ka mea ʻaʻole i hoʻohālikelike ʻia ka hoʻonā i ka hewa B, me ka noʻonoʻo ʻana i nā kumu āpau, ua haki paha ʻoe i ka hana C me ka ʻike ʻole.
  • Aia nō paha ke kolu o ka pahu e hūnā ana ma kahi, pili i ka hana like, a hilinaʻi kāu bugfix iā ia no ka hana kūpono o ka ʻōnaehana ma ke ʻano B. Maikaʻi nā mea a pau i kēia manawa, akā i kekahi lā e ʻike ʻia a hoʻopaʻa ʻia kēia bug kolu. A laila ma ke ʻano B e kū hou ka hewa, a maikaʻi inā aia wale nō.

Hoʻohui kēia mau mea i ka haunaele i ke code a e hāʻule i kekahi lā ma luna o kou poʻo - ʻoi aku paha i ka manawa kūpono ʻole. Pono ʻoe e hōʻiliʻili i kou makemake e hoʻoikaika iā ʻoe iho e hoʻolilo i ka manawa e hoʻomaopopo ai i ke kumu e hana ai nā mea āpau, akā pono ia.

ʻEkolu pae o ka hoʻomaopopo: No ke aha e hana ai?

ʻO kaʻu ʻike hou e pili pono ana i kēia pae, a ʻo ia paha ka mea e hāʻawi mai iaʻu i ka pōmaikaʻi nui inā wau i hiki mua i kēia manaʻo.

I mea e maopopo ai, e nānā kākou i kekahi laʻana: pono e hoʻohālikelike ʻia kāu module me ka hana X. ʻAʻole ʻoe i kamaʻāina loa i ka hana X, akā ua haʻi ʻia iā ʻoe e pili pū me ia pono ʻoe e hoʻohana i ka framework F. ʻO nā mea ʻē aʻe. ʻO nā modula e hoʻohui pū me X e hana pololei me ia.

ʻAʻole i pili kāu code me ka F framework mai ka lā mua o kona ola ʻana, no laila ʻaʻole maʻalahi ka hoʻokō ʻana. He hopena koʻikoʻi kēia no kekahi mau ʻāpana o ka module. Eia nō naʻe, hoʻolei ʻoe iā ʻoe iho i ka hoʻomohala ʻana: hoʻopau ʻoe i nā pule e kākau ai i nā code, hoʻāʻo, ʻōwili ʻana i nā mana pailaka, loaʻa ka manaʻo, hoʻoponopono i nā hewa regression, ʻike i nā pilikia i ʻike ʻole ʻia, ʻaʻole e hālāwai i nā palena manawa i ʻae ʻia, kākau i kekahi code hou, hoʻāʻo, loaʻa i ka kamaʻilio pane. hoʻoponopono i nā hewa regression - kēia mau mea a pau i mea e hoʻokō ai i ka framework F.

A i kekahi manawa, ʻike koke ʻoe - a i ʻole lohe paha mai kekahi - ʻaʻole paha e hāʻawi ka framework F iā ʻoe i ka hoʻohālikelike ʻana me ka hiʻohiʻona X.

Ua hana ʻia kekahi mea like i hoʻokahi manawa i ka hana ʻana i kahi papahana aʻu i kuleana ai. No ke aha i hana ai kēia? No ka liʻiliʻi o koʻu ʻike ʻana i ka hana X a me kona pili ʻana i ka framework F. He aha kaʻu i hana ai? E noi i ka mea nāna i hāʻawi i ka hana hoʻomohala e wehewehe pono i ke ʻano o ka hana i manaʻo ʻia e alakaʻi ai i ka hopena i makemake ʻia, ma mua o ka hana hou ʻana i nā mea i hana ʻia no nā modula ʻē aʻe a i ʻole ka lawe ʻana i kā lākou ʻōlelo ʻo ia ka mea e pono ai X e hana.

Ua aʻo mai ka ʻike o kēia pāhana iaʻu e hōʻole i ka hoʻomaka ʻana i ke kaʻina hana hoʻomohala a hiki i ka ʻike maopopo ʻana i ke kumu e noi ʻia ai mākou e hana i kekahi mau mea. Hōʻole loa. Ke loaʻa iā ʻoe kahi hana, ʻo ka manaʻo mua e lawe koke iā ia i ʻole e pau ka manawa. Akā ʻo ke kulekele "hoʻokuʻu i ka papahana a hiki i ka wā e komo ai mākou i nā kikoʻī āpau" hiki ke hōʻemi i ka manawa pau ʻole e nā kauoha o ka nui.

ʻOiai e hoʻāʻo lākou e hoʻokau iā ʻoe, e koi iā ʻoe e hoʻomaka i ka hana, ʻoiai ʻaʻole ʻoe maopopo i ke kumu o kēia, e kūʻē. ʻO ka mea mua, e noʻonoʻo i ke kumu e hāʻawi ʻia ai ia ʻano hana, a e hoʻoholo inā ʻo ia ke ala kūpono i ka pahuhopu. Pono wau e aʻo i kēia mau mea ma ke ala paʻakikī - manaʻo wau e maʻalahi kaʻu kumu hoʻohālike i ke ola no ka poʻe heluhelu i kēia.

pae ʻehā o ka ʻike: ???

Nui aʻe nā mea e aʻo ai i ka papahana, a ke manaʻoʻiʻo nei au ua ʻohi wale wau i ka ʻili o ke kumuhana o ka hoʻomaopopo. He aha nā pae ʻike ʻē aʻe āu i ʻike ai i nā makahiki o ka hana ʻana me ke code? He aha nā hoʻoholo āu i hana ai i hopena maikaʻi i ka maikaʻi o ke code a me ka noi? He aha nā hoʻoholo i hewa a aʻo iā ʻoe i kahi haʻawina waiwai? Kaʻana like i kāu ʻike ma nā manaʻo.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka