La sekreto de efikeco estas kvalita kodo, ne efika administranto

Unu el la profesioj, kiuj estas plej troŝarĝitaj de idiotoj, estas administrantoj, kiuj administras programistojn. Ne ĉiuj, sed tiuj, kiuj mem ne estis programistoj. Tiuj, kiuj opinias, ke eblas "plialtigi" efikecon (aŭ pliigi "efikecon"?) uzante metodojn el libroj. Sen eĉ ĝeni legi ĉi tiujn samajn librojn, la video estas cigana.

Tiuj, kiuj neniam skribis kodon. Tiuj por kiuj Hollywood-filmoj pri programistoj estas faritaj - nu, tiuj, kie ili spektas retpoŝton per la komandlinio. Tiuj, kiuj ne interesiĝas pri io alia ol indikiloj, limdatoj kaj sia propra salajro.

Tiuj, kiuj estas la plimulto.

Sed ili estas idiotoj pro alia kialo. Ili volas efikecon, aŭ almenaŭ efikecon (venu, administranto, Guglo, kio estas la diferenco), sen kompreni ambaŭ. Sen ĝenerale kompreni la esencon, la procezon akiri la rezulton, la perdojn kiuj okazas en ĉi tiu procezo, la kostoj de disvolviĝo. Resume, labori kun programisto kvazaŭ li estus nigra skatolo.

Ili renkontis la administradon de programistoj ĝuste pro unu kialo: estas ekzaltiĝo, mono, la merkato kaj amaso da samaj idiotoj. Estas loko por perdiĝi.

Se ekzistus ekzaltiĝo en mekanika asembleoproduktado, ni kurus tie. Station vagonoj suĉas. Mi ne surprizus, ke la ulo vendanta kristnaskajn arbojn en nia kvartalo en decembro estas IT-administranto ferianta.

Mallonge, se eble, pafu ĉi tiujn ulojn en la kolo. Ne zorgu, ili trovos laboron. Neniu el ili iam faros ion decan ĝis ili mem fariĝos programisto. Ĉar li ne komprenas la esencon, mekanismon, logikon de la procezo, kiun li regas.

Bone, sufiĉe pri administrantoj. Nun al la punkto, por programistoj. Kiel pliigi disvolvan efikecon lernante skribi altkvalitan kodon.

Por pliigi efikecon, vi devas solvi problemojn pli rapide sen perdi kvaliton. Por solvi problemojn pli rapide, vi devas povi tuj skribi altkvalitan kodon. Kaj "altkvalita", kaj "skribi", kaj "tuj". Mi klarigu per metaforo.

Skribi altkvalitan kodon estas kiel paroli fremdan lingvon ĝuste. Kiam vi ne scias lingvon, vi pasigas multe da tempo provante formuli viajn pensojn en ĝi.

Se vi bezonas urĝe diri ion, vi simple algluiĝas sur iuj vortoj, ofte ne la ĝustaj, vi forgesas pri artikoloj, la ĝusta vortordo, sen paroli pri verbotempoj kaj malbona prononco.

Se vi havas tempon por formuli respondon, vi devos malfermi vortaron aŭ retan tradukilon kaj pasigi multe da tempo por formuli viajn pensojn. La sento tamen ankoraŭ estos malagrabla: vi diras la respondon, kaj vi ne scias ĉu ĝi estas ĝusta aŭ ne. Estas same kun la kodo - ŝajnas esti skribita, ĝi ŝajnas funkcii, sed ĉu ĝi estas bonkvalita aŭ ne estas mistero.

Ĝi montriĝas duobla tempoperdo. Necesas tempo por veni kun respondo. Ankaŭ necesas tempo por formuli ĉi tiun respondon – kaj ne tiom malmulte.

Se la kapablo verki altkvalitan kodon ĉeestas, tiam la respondo povas esti formulita tuj kiam ĝi maturiĝis en la kapo, sen elspezi plian tempon por tradukado.

La kapablo skribi altkvalitan kodon helpas dum desegnado de arkitekturo. Vi simple ne konsideros malĝustajn, nerealigeblajn aŭ malgajnajn elektojn en via kapo.

Resume: la lerteco verki altkvalitan kodon signife akcelas problemon.

Sed tio ne estas ĉio. Danke al la administrantoj de feltaj botoj, estas unu kapto - ni ne havas kialon por skribi altkvalitan kodon. La administranto ne rigardas la kodon, la kliento ne rigardas la kodon. Ni malofte montras kodon unu al la alia, nur foje, en iuj projektoj, kie estas elektita kodo "kontrolilo" aŭ perioda refaktorado.

Rezultas, ke plejofte la aĉa kodo iras al produktado aŭ al la kliento. Homo, kiu skribis aĉan kodon, formas stabilan neŭralan konekton - ne nur eblas skribi aĉan kodon, sed ankaŭ necesas - ĝi estas akceptita, kaj ili eĉ pagas por ĝi.

Kiel rezulto, la kapablo skribi altkvalitan kodon tute ne havas ŝancon disvolviĝi. La kodo skribita de kondiĉa dungito neniam estas kontrolita de iu ajn. La nura kialo, ke li lernos programi normale, estas interna instigo.

Sed ĉi tiu interna instigo konfliktas kun planoj kaj postuloj por efikeco kaj produktiveco. Ĉi tiu kontraŭdiro klare ne estas solvita favore al altkvalita kodo, ĉar ili eĉ ne kritikas homojn pro aĉa kodo. Kaj pro malsukceso plenumi la planon — eĉ tiel.

Kion mi devus fari? Mi vidas kaj proponas du vojojn kombineblajn.

La unua estas montri vian kodon al iu ene de la kompanio. Ne reaktive (kiam demandite/devigite), sed proaktive (he, ulo, rigardu mian kodon, mi petas). La ĉefa afero ĉi tie estas ne afiŝi sukeran mukon, ne provi meti kritikon de la kodo en ĝentila formo. Se la kodo estas aĉa, ni diras tiel: la kodo estas aĉa. Kun klarigoj, kompreneble, kaj rekomendoj pri kiel plibonigi ĝin.

Sed ĉi tiu vojo ankaŭ estas tiel-tiel. Ĝia aplikebleco dependas de la punkto ĉe kiu kontakto okazis. Se la laboro jam eniris en produktadon kaj rezultas, ke la kodo estas aĉa, ne utilas refari ĝin. Pli precize, la kialoj - la metriko ankaŭ malleviĝos. Administrantoj rapidos kaj disbatos vin kun efikecpostuloj. Kaj eĉ ne provu klarigi al ili, ke la aĉa kodo certe revenos en formo de cimoj - ĝi miskarburos vin. Vi povas nur fari devontigon ne fari tion denove.

Se la laboro ankoraŭ ne estas liverita, aŭ ĵus komencita, tiam verŝado de merdo sur la kodon (aŭ ĝian projekton, ideon) povas havi sufiĉe praktikan signifon - la persono faros ĝin normale.

La dua maniero, la plej bonega, estas fari malfermfontan disvolviĝon dum nelaboraj horoj. Kio estas la celo: por amaso da programistoj, nome programistoj, vidi vian kodon kaj paroli pri ĝi. Ĉiuj ene de la kompanio ne havas tempon. Sed programistoj en la tuta mondo ankoraŭ havas nenion por fari, kaj se vi skribas ion utilan el aplika vidpunkto, ili certe rigardos enen.

La ĉefa lertaĵo, laŭ mi, estas skribi kodon dum nelaboraj horoj, ĉar la kontraŭdiro inter la kvalito de la kodo kaj la rapideco de liverado de la rezulto ne funkcios. Skribu vian evoluon dum almenaŭ jaro. Nek templimoj, nek teknikaj specifoj, nek mono, nek estro premos vin. Plena libereco kaj kreemo.

Nur en libera kreivo vi komprenos kaj sentos, kio estas bonega kodo, vidos la belecon de lingvo kaj teknologio, kaj sentos la ĉarmon de komercaj taskoj. Nu, vi lernos skribi altkvalitan kodon.

Vere, ĉi tio postulos vin pasigi personan tempon. Same kiel ajna alia evoluo. Rigardu ĝin ne kiel koston, sed kiel investon - ​​en vi mem.

fonto: www.habr.com

Aldoni komenton