Vai esat kādreiz domājuši, kāpēc gudri cilvēki, piemēram, programmatūras izstrādātāji, to tik bieži pieskrūvē? Ir cilvēki, kas to darīja. Šajā amatā mēs pārskatām daži no nerakstītiem likumiem, kas raksturo profesionāļu uzvedību skaitļošanas.
Mans pirmais dators bija Commodore 64. Gandrīz 30 kb RAM bija paredzēta sistēmai, atstājot 32 kb tekstapstrādei, spēlēm, ģimenes biznesa uzskaitei un gandrīz visam, ko es daru ar 6 gb datoru, kas man pieder. Tas atstāj atklātu jautājumu Vai mūsdienu aprīkojums atbilst programmatūras vajadzībām vai programmatūra izmanto vairāk aparatūras resursu, jo tie ir pieejami?
Taisnības labad jāsaka, ka spēles nav vienādas, grafika nav vienādas kvalitātes, un būtu bijis neiespējami skatīties filmas un klausīties mūziku. Tomēr to nevar nedomāt ir programmas, kas izlaiž versijas un patērē arvien vairāk resursu, patiesībā neveicinot neko jaunu.
Šeit ir cēloņi.
Zawinsky likums
Netscape izstrādātājs Džeimijs Zavinskis to apgalvoja Katrā programmā ir iekļautas funkcijas, līdz tā spēj lasīt e-pastus. Ja viņam tas neizdodas, viņu aizstāj ar citu, kurš to spēj.
Kad viņš to teica, joks bija tāds, ka viņš atsaucās uz programmām, kuras sākotnēji nebija paredzētas kā e-pasta klienti. Tas vairs nebija smieklīgi, kad tika atklāts, ka daudzas lietotnes pakalpojumā Google Play lūdz atļauju piekļūt tālruņa komponentiem un lietotāju datiem, kas viņiem nav nepieciešami, lai veiktu savu darbu.
Daži to interpretēja kā daļu no mēģinājumiem izspiegot lietotājus. Bet, iespējams, cilvēka dabā ir kaut ko darīt vienkārši tāpēc, ka to var izdarīt.
Pētera princips tika piemērots programmatūrai
Lorenss Pīters kļuva slavens ar to, ka paziņoja, ka hierarhijā cilvēks nonāk stāvoklī, kurā viņš ir ārkārtīgi nespējīgs. Bet viņam bija laiks pateikt arī kaut ko par sarežģītiem projektiem:
"Sarežģīts projekts kļūs pārāk sarežģīts, lai to saprastu pat tā izstrādātāji."
Vismazākās izbrīnas princips
Šis princips, kas publicēts IBM Systems Journal 1984. gadā, nosaka:
"Ja nepieciešamā funkcija rada lielu pārsteigumu, iespējams, šī funkcija būs jāpārveido."
Citiem vārdiem sakot ja programmatūras daļa vai visa ir ļoti atšķirīga no tā, pie kuras lietotājs bija pieradis, vislabākais ir pārprojektēšana. Ideālā gadījumā tiecieties sasniegt pakāpeniski uzlabojumi, kas ir pietiekami lieli, lai būtu iespaidīgi, bet pietiekami mazi, lai paliktu pazīstami lietotājam.
Žēl, ka Šatlvorts to neņēma vērā, uzsākot Vienotību.
Kibernētiskās entomoloģijas likums
Pirmā kļūda datoru vēsturē bija reāla. Kode uzlidoja vienā no MARK II datora relejiem, izraisot darbības traucējumus.
Turpinot ar metaforu, kibernētiskās entomoloģijas likums to uzskata vienmēr būs vēl viena kļūda.
Tas ir kaut kas, ko zina visi datoru lietotāji. Neatkarīgi no tā, cik operētājsistēma tiek pārbaudīta, vienmēr ir kāds trūkums, kas tiek atklāts, kad ir par vēlu.
Kernigana likums
Linux Adictos ir instalēts spraudnis, lai nodrošinātu, ka mēs, autori, rakstām meklētājprogrammai draudzīgā veidā. Es to ienīdu no pirmās dienas. Jebkurš mēģinājums rakstīt ar nelielu literāro lidojumu tiek nekavējoties nosodīts ar sarkanu apli. Laikam ejot, es pieradu, un man reti jāpieliek pieskāriens.
Tas pats notiek ar programmētājiem, daudzas reizes viņi ir vairāk ieinteresēti parādīt savu spēju kodēt, nekā rakstīt vienkāršāku kodu, kuru ir vieglāk saprast un uzturēt.
Tādējādi Kernigana likums nosaka, ka:
Atkļūdošana ir divreiz grūtāka nekā koda uzrakstīšana. Tātad, ja jūs rakstāt kodu pēc iespējas gudrāk, jūs pēc definīcijas neesat pietiekami gudrs, lai to atkļūdotu. '
90/90 noteikums
Ikviens, kurš reālajā dzīvē ir uzsācis peļņas gūšanas projektu, zina, ka katrs projekts būs divreiz ilgāks un maksās divreiz vairāk nekā paredzēts budžetā, lai iegūtu pusi no paredzamās peļņas.
Datoru pasaulē ir savi šī likuma varianti. Piemēram, viens Toms Kargils teica:
“Pirmie 90 procenti koda ir pirmie 90 procenti izstrādes laika. Atlikušie 10 procenti koda apzīmē pārējos 90 procentus izstrādes laika.
Vai tas nebija skaidrs? Varbūt Hofstadtera likums palīdzēs:
"Tas vienmēr prasa ilgāku laiku, nekā jūs gaidāt, pat ņemot vērā Hofstadtera likumu."
Es domāju, ka Ubuntu un Fedora izstrādātājiem ir jāzina. Vai vismaz atcerieties to ik pēc 6 mēnešiem.
Brukas likums
Atvērtā koda programmatūras projektiem bieži ir divas problēmas; finansējums un līdzstrādnieku trūkums. Ja vien otrais nav problēma. Pēc Brukas domām:
"Darbaspēka pievienošana programmatūras projektam, kas kavējas, kavēs to vēl vairāk."
Saprotams, ka jums nav tikai jāatjaunina jaunie kodētāji. Vairāk būs jādokumentē, būs vajadzīga lielāka birokrātija, lai visi būtu sinhroni, un, iespējams, būs kautiņi.
Un, protams, mēs nevaram aizmirst par draugu Parkinsonu un viņa apgalvojumu Nav svarīgi, cik tukšas vietas jūs sākat. Jums vienmēr būs nepieciešams vairāk. Viņš atsaucās uz biroja telpām, bet tas pats attiecas uz RAM un vietu diskā.
Izcils teksts. Saprotams, filozofisks un literārs. Viens no labākajiem, ko esmu lasījis no Linux servera. ES tevi apsveicu.
Liels paldies par komentāru
Ļoti reāli, pirms daudziem gadiem es biju programmētājs un daudzās no šīm situācijām dzīvoju. Apsveicu. No Čikāgas es jums sekoju.
Ļoti pateicos
Principi, kas piemērojami gandrīz jebkuram darbam