8 egyszerű trükk a kódolási hatékonyság növelésére

Ha előfizet egy szolgáltatásra az ezen az oldalon található hivatkozásról, a Reeves and Sons Limited jutalékot kereshet. Lásd a mi etikai nyilatkozat.

Furcsa jelenség merült fel a szoftverkiadók körében. Úgy tűnik, hogy az emberek megfordítják annak megértését, hogy mitől lesz jobb egy minőségi termék, vagy legalábbis ez igaz, ha a marketinget végzőkről van szó. Valami a következőképpen szól: „Az ő termékük egymillió sornyi kódot tartalmaz, de a miénk kétmillió, tehát a termékünknek jobbnak kell lennie.”

Senki sem tudja, honnan jött ez a „több több” fajta gondolkodás, amikor annak idején mindenki olyan keményen dolgozott a „kevesebb több” filozófia kialakításán. Valószínűleg a fogyasztói újságírással kezdődött, mert sok író nagy számok idézésével próbálja lenyűgözni a közönséget. A legtöbb dolognál ez működik – ez az apró flash meghajtó 200 terabájt adatot tárol, a CPU másodpercenként 48 milliárd utasítást tud feldolgozni –, és az írók nem mindig eléggé járatosak technológiailag ahhoz, hogy megértsék, ugyanez nem vonatkozik a forráskódra.

A kódolás hatékonysága azonban nem csak szigorú algoritmusok létrehozásán múlik. Arról is van szó, hogy csökkenteni tudjuk a hulladékot. Ez pazarlást jelent abból a szempontból, hogy mennyi időt tölt a problémák kijavításával, pazarlást a túl sok számítógépes erőforrás felhasználásával, és még azt is, hogy csapata hány pizzásdobozt halmozott fel az irodában a hét végéig. Ideális esetben csökkenteni szeretné ezeket a dolgokat.

Tehát ebben a cikkben azokat a dolgokat fogjuk megvizsgálni, amelyeket megtehet a hatékonyság és a termelékenység növelése érdekében.

1. Kedvező munkakörnyezet kialakítása

Minden kódoló egyedi körülmények között dolgozik, olvasóink pedig nagyon sokrétűek, így egyesek számára könnyebb lesz megvalósítani ezeket a javaslatokat, mint másoknak.

Ha szabadúszó vagy, gratulálunk, mert már ura a saját munkahelyi környezetednek. Természetesen ez változni fog, ha meglátogat egy ügyfelet, és a helyszínen kell dolgoznia, de még mindig jó pozícióba kerül, ha sikerrel jár.

Ha Ön egy fejlesztőcsapat vezetője, ezek a javaslatok segíthetnek csapata maximális hatékonyságának elérésében. Vagy ha Ön egy fejlesztőcsapat dolgozója, javasolhat néhány ötletet a vezetőjének, vagy legalább küldjön neki egy linket erre az oldalra, és remélje a legjobbakat.

Fontolja meg a csapattagok számára a távmunkát

A programozás részben logikai gyakorlat, de még inkább kreatív kihívás. A legjobb programozók agyuk mindkét oldalát azonos mértékben tudják alkalmazni bármilyen feladatra. A tudomány régóta elismeri, hogy a kreatív emberek a legjobb munkájukat végzik éjszaka, és ezt mindannyian tapasztaltuk. Akkor miért ragaszkodik a legtöbb menedzser a hagyományos 9-től 5-ig rutinhoz?

Valójában erre már tudjuk a választ. Ez részben az irányításról szól, részben pedig a dolgok kényelmesebbé tételéről üzleti szempontból (vagy legalábbis vezetési szempontból). De a rutinhoz és a helyszínhez való ragaszkodás rontja a csapat hatékonyságát és termelékenységét.

Tudnod kell, hogy a kódolóid valószínűleg egész éjjel fent voltak a legújabb játék kipróbálásán, esetleg bulizni mentek, vagy egyszerűen csak a családdal kellett szocializálódniuk. Ez azt jelenti, hogy amikor hétfőn reggel megjelennek dolgozni, nemcsak hogy nem éri el őket a csúcsteljesítményükön, de máris kimerültek az energiájuktól és kutyájuktól fáradtak.

A termelékenység és a morál javításának kiváló módja annak, hogy a munkavállalók választási lehetőséget biztosítsanak a munkavégzés idejére – és ideális esetben hol is –. Mindaddig, amíg elvégzik a munkát, és kiváló minőségi eredményeket adnak, nem kell törődnie azzal, hogy mikor, hol vagy hogyan érik el ezt.

Kivétel az, amikor szoros együttműködésre van szükség, de valójában a legtöbb kódoló jobban teljesít, ha hagyják, hogy a dolgokat a maga módján csinálják, és ritkán van szükség szoros együttműködésre. Az irodába való belépés lehetőségének továbbra is fennállnia kell, de nincs reális ok, hogy miért kellene ezt megkövetelni, hacsak nem szigorúan titkos katonai projekteken dolgozik.

Szabadúszóként azt is láthatja, hogy ha a tényleges kódolási munkája nagy részét éjszaka végzi, akkor valószínűleg többet fog végezni. Késő este kevesebb a zavaró tényező, csendesebb, és kreatívabbnak fogod érezni magad.

Kerülje a zenét

Mindannyian láttuk már azokat az őrült filmes sztereotípiákat, amikor néhány szuperszutykos überhacker felteszi a fejhallgatót, és a death metal mellett dömböl, miközben könnyedén, lélegzetvétel nélkül kavargatja a képernyőnyi kódot. És mindannyian, akik valóban kódolunk a való világban, tudjuk, milyen nevetséges ez a kép.

De ha munka közben zenét hallgat, legyen óvatos. Könnyen azon kapod magad, hogy a munkád helyett a zenére gondolsz, és bizonyos zenék altató hatásúak lehetnek. Amikor edzeni megy az edzőterembe, a megfelelő zene ösztönözhet arra, hogy megtegye ezt a néhány extra ismétlést. De soha senkinek nem sikerült olyan zenét létrehoznia, amely arra ösztönözné Önt, hogy megtalálja a hiányzó pontosvesszőt tartalmazó sort, vagy hogy helyesen válasszon a for ciklus vagy a while ciklus között. Az Electric Dreams volt a legközelebb ehhez.

Próbálj meg rendet tartani

A rendetlenség furcsán megnyugtató lehet, de le is lassíthat. Könnyen elveszíthet 20 percet, ha keres valamit, ami elveszett a káoszban, aztán elfelejtheti, miért is akarta ezt.

Szóval, az okozott kellemetlenségek ellenére miért vagyunk mi – legalábbis néhányunk – ennyire rabjai a rendetlenségnek? Szervezeti szakértő és szerző, Julie Morgenstern azt állítja, hogy ez azért van, mert ez a dolog összeköt bennünket a múltunkkal, és szerepet játszik identitásunk meghatározásában. Marcus Geduld, a New York-i tanár és színpadi rendező azt állítja, hogy ez azért van így, mert a rendetlenség jobb, mint a „steril” környezet, és a rendetlenség káoszát egy affirma szabadság és a kreativitás megteremtése.

Kétségtelen azonban, hogy a rendetlenség csökkentése segít elkerülni a figyelemelterelést és a szervezetlenséget. Mint ilyen, ez egy méltó cél, amelyet meg kell valósítani. Mindenképpen tarts magad körül néhány szent tárgyat, amelyektől jobban érzed magad, és kevésbé stresszelsz, de ne ess túlzásba. A zsúfoltság megszüntetése a legtöbb ember számára az egyik legnehezebb dolog, és ez nem csak a fizikai állapotunk desktops amelyek rendezést igényelnek, de gyakran a számítógépünk desktops is. Ha nagyon küzdesz ezzel, akkor megpróbálhatsz egy minimalista DTE-t, például a Fluxbox-ot, amely nem igazán engedi meg, hogy rendetlenkedj.

De a rendrakás közepette ne ess túlzásokba. Rengeteg jó tudomány van arra vonatkozóan, hogy egy kis káosz a környezetben valóban elősegítheti a kreativitást. Az ezzel kapcsolatos kutatások egyik leggyakrabban idézett része Vohs, Redden és Rahinel Psychological Science című folyóirata a Minnesotai Egyetemen. A fizikai rend egészséges választásokat, nagylelkűséget és konvencionálisságot eredményez, míg a rendetlenség kreativitást eredményez. Valószínűleg azért ragaszkodnak ehhez a lapújságírók, mert egyértelműen arra a következtetésre jut, hogy: „…a rendetlen helyiségben résztvevők kreatívabbak voltak, mint egy rendezett szobában.”

Sokkal kevésbé népszerűek az eltérő nézetek, mint pl A környezeti zavar önszabályozási kudarchoz vezet (Chaye & Zhu, 2014), megjelent a Journal of Consumer Research-ben. Ez a tanulmány megállapította, hogy a rendezetlen környezetben dolgozó emberek nem képesek feladatot ellátni.

Szóval hol hagy ez téged? Káoszban vagy sterilitásban kell dolgozni? A válasz az, hogy megtalálja az egyensúlyt, ahol éppen elég kaotikus ahhoz, hogy ihletet adjon, de nem annyira, hogy elvonja a figyelmét, vagy nehezen találjon dolgokat.

Hagyj magad mögött egy kis teret a gondolataid kiegyenlítésére

Jó ötlet, ha bőven van hely a bolyongásra, amikor mérlegel. A történelem legjobb admirálisai és tábornokai közül sokan híresek voltak arról, hogy sok időt töltöttek a fedélzeten sétálva, miközben harci stratégiákat terveztek.

Nem csak a harcoló férfiak követik ezt a gyakorlatot. Sok buddhista szerzetes a „sétáló meditációt” is támogatja, és úgy véli, hogy segít az elme tisztaságának elősegítésében. Valahányszor különösen göcsörtös programozási problémát kell megoldania, segíthet, ha egy kicsit kinyújtja a lábát egy meditatív sétával a fedélzeten. Nyilvánvalóan itt is a rendetlenség hiánya segít ebben anélkül, hogy kórházba kerülne.

Főnökként óvatosan viszonyuljon a kreatív erőfeszítések kritikájához

Az építő kritikával nincs semmi baj, de ki kell választania a megfelelő pillanatot, és a megfelelő módon kell megközelítenie azt, különben visszaüthet azáltal, hogy munkatársai a jövőben kevésbé termelékenyek. Ahelyett, hogy inspirálnád őket és betekintést nyújtanál, valójában megijesztheted őket a kockázatvállalástól, ami jó módja a kreativitás kioltásának. Marieke Roskes, be A kreatív teljesítményt segítő vagy akadályozó korlátok: motivációs megközelítés, keretet ad a kreatív dolgozók motivációjának kezeléséhez, és konkrétan arra is, hogyan lehet elkerülni akaratlan demotivációjukat (Creativity & Innovation Management, Vol 24, Iss 2, 2015).

2. Hozzon létre egy jó SOP-t

Az üzletvezetésben és a programozási eljárásokban sok fülbemászó trend van, amelyek elméletben sokkal értelmesebben hangzanak, mint ahogy a gyakorlatban kiderülnek. Az, hogy egy adott megközelítés működik-e az Ön számára vagy sem, az Ön céljától függ, és attól, hogy Ön személyesen mit tekint sikeres eredménynek.

Egy példa a módszertanra, amelyet egy cég, ahol dolgoztam, kipróbált – és ugyanilyen gyorsan el is hagyott – a páros programozás (nem tévesztendő össze a PEAR programozással). Míg egyesek nagyon csodálják ezt a munkamódszert, és dicsérik az agilis fejlesztési paradigmában elfoglalt helyét, azt tapasztaltuk, hogy rettenetesen nem hatékony. Kezdetben minden munkaállomáshoz két programozó kellett, így kétszer annyit kellett fizetni kevesebb tényleges fejlesztési munkáért. Azt is tapasztaltuk, hogy sokkal lassabb volt így dolgozni a gyakori leállítási/indítási folyamat és a szükségtelen párbeszédre való hajlam miatt.

A páros programozás előnye az volt, hogy természetesebb dokumentációt és szigorúbb dokumentációt eredményezett. Ezenkívül lehetővé tette a hibák könnyebb észlelését és az algoritmusok szigorítására vonatkozó javaslatok megfogalmazását. Ugyanakkor ugyanazok az előnyök problémákat is okoztak, mert néha nem volt igazán szükség a finomításokra és beállításokra.

Egy másik kockázat ezzel a megközelítéssel, hogy elérheti a Roskes által azonosított hatást, ahol a programozók haboznak kipróbálni dolgokat, mert nem akarják, hogy kijavítsák őket. Előfordulhat, hogy fellángolnak a személyiségi ütközések, ahol az egyik fejlesztő nagyon pedáns és hagyományos, de a másik kreatívabb és spontánabb.

A programozók gyakran állítják, hogy a páros programozást részesítik előnyben. Lehetséges, hogy ennek az az oka, hogy élvezik az általuk nyújtott társas interakciót, de ez semmivel sem járul hozzá a termelés hatékonyságához, kivéve talán a morál erősítését.

Tehát meg kell határoznia, hogy mi működik valójában a fejlesztők számára, és mi nem. Azoknál a dolgoknál, amelyek nem működnek, jobb elvetni őket, még akkor is, ha nagyon felkapott gyakorlatról van szó. Bármi segíti a csapatot a gyors fejlődésben, az jó dolog. De ha olyan módszertant alkalmaznak, amely nem felel meg a stílusuknak, az végül problémákhoz vezet.

3. Bátorítsa a bőbeszédű dokumentációt

Bár úgy tűnhet, hogy a bőbeszédűség növelné a hatékonyságot, a rövid idő, amibe telik a megjegyzések részletesebb és pontosabb megadása, sok gondtól megspórolhat a projekt előrehaladása vagy felülvizsgálata során.

4. Kerülje a szükségtelen dokumentációt

A jól megírt kód gyakran önmagát dokumentálja. Ha teljesen nyilvánvaló, hogy egy függvény mit csinál a névből (aminek szinte mindig így kell lennie), akkor felesleges további leírást adni. Ugyanez vonatkozik a változók elnevezésére és a visszatérési értékekre is. A névből egyértelműen ki kell derülnie, hogy mit csinálnak, és azokban az esetekben, amikor ez nem lehetséges, a megjegyzésekben kell feltüntetni róluk a leírást.

5. A fehér tér a barátod

A szóközök megfelelő használata a kódban értékes abban, hogy megkönnyítse a kód olvashatóságát, áttekintését és megértését. Ez kéz a kézben jár a jó dokumentálással és öndokumentáló kód írásával. Lehetővé kell tenni, hogy minden tapasztalt programozó – vagy esetleg nem programozó – elővegye a forráskód másolatát, és azonnal megértse, mi a célja az egyes funkcióknak és hogyan működnek. Ideális esetben valakinek képesnek kell lennie arra, hogy megtanuljon programozni másból, mint a jól megírt kód tanulmányozásából.

6. Előnyben részesítsd az egyszerűséget a bonyolultsággal szemben

Minél összetettebbé teszi a kódot, annál nehezebb lehet kibogozni. Ironikus módon ez a programozási parancsikonokra vonatkozik, mint például a feltételes gyorsírások használata ahelyett, hogy teljes egészében kiírnánk őket. Időt takarít meg az írásban, de egy kevésbé tapasztalt programozó, aki később átnézi a kódot, nem biztos, hogy megérti a szándékait.

7. Tesztelje kimerítően

A kódot fokozatosan és gyakran kell tesztelni. Mielőtt bármit is üzembe helyezne, a lehető legtöbb házon belüli tesztelést kell elvégeznie, még akkor is, ha az első kiadása Alpha lesz.

8. Használja a verzióvezérlést

Őrültnek kell lenned ahhoz, hogy ne használj verzióvezérlést egy nagy projektnél. Enélkül nincs védve a saját kisebb hibáidtól, és nagyon könnyen előfordulhat, hogy egy másik csapattag véletlenül (vagy szándékosan) szabotálja a kódodat úgy, hogy valamivel felülírja, ami nem tetszik neked.

Ha figyelembe veszi ezt a nyolc kulcsfontosságú javaslatot, akkor képes lesz saját stratégiáját kidolgozni, amellyel Ön és a csapat bármely tagja számára a legnagyobb hatékonyságot érheti el. Nem feltétlenül kell mindegyiket alkalmaznia, és bizonyosan nem is praktikus az Ön számára, de ezek bármilyen kombinációja valószínűleg azt eredményezi, hogy kevesebb gonddal végezheti el munkáját. A produktívabb munkafolyamat idővel megtérül, még akkor is, ha csupán a stressz csökkentéséről és több időről szól. Ez egy olyan cél, amiért érdemes dolgozni.

Bogdan Rancea

Bogdan az Inspired Mag alapító tagja, közel 6 éves tapasztalattal rendelkezik ezalatt az időszak alatt. Szabadidejében szeret komolyzenét tanulni és a vizuális művészetekkel foglalkozni. Nagyon megszállottja a fixiesnek is. Már 5-öt birtokol.

Hozzászólások 0 válaszok

Hagy egy Válaszol

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

Értékelés *

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.