‘raamat’ sildiga artiklid
Hiljaaegu võtsin käsile Jessica Livingstoni raamatu “Founders at Work: Stories of Startups’ Early Days”, mis koosneb intervjuudest erinevate firmade asutajatega. Igati väärt lugemine neile, kes plaanivad mõne startup-iga liituda.
Meeldejäävaid ideed oli raamatus küllaga:
Oluline on meeskond, küll väärt ideed tulevad millalgi. Tihtipeale polnud asutajatel täpset arusaama, mida nad tegema hakkavad ning ajapikku leiti õige suund. Seega tasub hoolega valida kellega koos asutatakse. Fog Greek Software ja Excite alustasid ilma konkreetse toote plaanita, kuid enda saatuse üle nad viriseda ei saa.
Kes plaanib üksi startup-i tegema hakata peaks kõvasti järgi mõtlema. Üksi lahingusse ei minda. Paljudki investorid ei pruugi nii ettevõtmist tõsiselt võtta. Raamatustki selgus, et tüüpiliselt asutajaid on 2-4 inimest.
Hea meel teile teada anda, et raamatukokku täieneb veidi. Omapoolse panuse andis seekord ka Microsoft Eesti, mille eest oleme äärmiselt tänulikud. Andres Sireli poolseks kingituseks oli Donis Marshalli ja John Bruno raamat “Solid Code”.
Uued raamatud:
- Solid Code
Donis Marshall, John Bruno - Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin - Why Software Sucks…and What You Can Do About It
David S. Platt - Crystal Clear: A Human-Powered Methodology for Small Teams
Alistair Cockburn - A Practical Guide to Feature-Driven Development
Stephen R Palmer, John M. Felsing
Head laenutamist ja lugemist.
Paljude inimeste jaoks pole ühist IT-l ja filosoofial. Mu arust on filosoofial nii mõndagi öelda ja IT inimesed võiksid ka selle vastu huvi tunda. Kooliajal oli tudengite jaoks filosoofia küllaltki prahimaiguline aine. Kahju neist, kes ise mõelda ei taha ja uurida, mida teised mõtlevad.
Thomas S. Kuhni raamat “Teadusrevolutsioonide struktuur” on küllaltki huvitav lugemisvara. IT-d võib vaadata mõnes mõttes teadusena ja sellest tulenevalt kirjeldab kenasti see raamat kuidas revolutsioonid toimuvad. Kuna revolutsioonid on nähtamatud, siis praegusel hetkel me ei oska öelda nii täpselt, millised käimas on. Samas julgen öelda, et komponenditestide (unit test) tulek ja väledate metoodikate areng on üheks revolutsiooniks IT vallas. Minevikku vaadates on lihtsam revolutsioone ära märkida.
Loe edasi »
Komponenditestid (unit test) on igati head, kui neist saab välja lugeda, kuidas API-t või süsteemi kasutada ehk need käituksid dokumentatsioonina. Siiski selle saavutamine ei pruugi olla eriti lihtne, kui neist ei hoolita. Testid ei ole “Write Only” kood.
Gerard Meszaros on teinud suure töö ja kirjutanud paksu raamatu “xUnit Test Patterns: Refactoring Test Code”, kus seletab milliseid mustreid testimisel kasutada. Lisaks saab selle abiga treenida enda nina testimisel tekkivate haisude tundmiseks.
Raamat on jagatud kolme ossa: üldiselt testimisest (peamiselt xUnit raamistikkude kasutamise osas); testide haisud; testide mustrid. Esimesed kaks osa võiksid läbi lugeda ka projektijuhid, et nad teaksid, mis kasu automaatsetest testidest saab ning ei hakkaks ajama juttu, et testid pole olulised. Teise osa kohta saavad nad peamiselt teadmisi, millal piim hapuks läheb ning kuidas võiks reageerida. Arendajatel tuleks lugeda ka kolmas osa läbi. Algul on üldisemad mustrid, mis ei pruugi testimisega tegevale arendajale väga suur huvi pakkuda, kuid lõpu poole tuleb veidi keerulisemat ka.
Tarkvara arendajad võiksid selle teose enda lugemis nimekirja küll võtta. Vähemalt need, kes tahavad oma tööstiili stressivabamaks teha.
Uncle Bob, kes viimasel ajal kõvasti igal pool jutusaadetes on sai hakkama järjekordse hea teosega “Clean Code”. Ta eelnev raamat “Agile Priciples, Patterns, and Practices via C#” oli ääretult kasulik. Seda peaksid kõik endast lugupidavad arendajad lugema, sest see võib olla nii mõnelegi hüppelaud arenguks.
Rober C. Martini raamat “Clean Code” on täiustus siis eelnevale. Kui eelmine õpetas printsiipe ja praktikaid, siis uus raamat õpetab loetavat ja puhast koodi kirjutama. Teoses on kirjas peamiselt need koodi kirjutamise stiilid, mis teda on hästi pikka aega teeninud ning keegi ei pea näid järgima täpipealt. Vähemalt on ta ära põhjendanud, miks ta ühtepidi või teistpidi koodi kirjutab.
Küllaltki huvitav oli lugeda näiteks koodi kommenteerimise osa. Tundub algul, et millest seal ikka kirjutada on, kuid elu on näidanud, et paljusid asju tehakse kommentaaride abiga, kuigi koodihoidlal on see sama funktsioon olemas.
Kes tahab tarkvara meistriks (software craftsman) saada, siis see teos tuleb tal läbi lugeda. Tükki see küljest ei võta vaid annab juurdegi nagu kasvajagi.
Mõni aeg tagasi andis Andres Sirel mulle Eric Brechneri raamatu “I. M. Wright’s “Hard Code”". Vastutasuks pean ma kirjutama kui tore see raamat on ja eelnevalt ka läbi lugema. Mul on hea meel, et selle raamatu sain, sest muidu oleksin pidanud selle ise ostma, vähemalt ta oli mu ostu nimekirjas.
Raamat on koostatud Brechneri kirjutatud artiklitest vahemikus 2001-2007. Kuna periood on 7 aastat, siis väga tehnilist juttu sealt oodata ei saa, sest nii pika ajaga juhtub IT maailmas nii mõndagi ja antiikkirjandust ei ole väga huvitav lugeda.
Teos oli suunatud peamiselt projektijuhtidele või siis meeskonna juhtidele. Leidus ka peatükke, mida võiksid arendajad ka lugeda. See ei tähenda, et tarkvara arendajad ei võiks seda lugeda; ega tarkus mööda külgi maha jookse.
Loe edasi »
Koodist pulbitseb välja jõudu, kui see on loetav ja arusaadav. Seda vaadates ei hakka kõhus keerama. Jõud on tugev, kuid tasane ja vaikne. Rünnates seda jõudu, peegeldub kogu rünnak tagasi. Looda, et see ei ole jälestuse jõud.
Loe koodi kõva häälega nagu heeroldile kohane ning parem ära ole halva sõnumi tooja. Halva teate toojat ei austa keegi. Kui keel läheb sõlme ja suust välja tuleb ainult podin, siis parem põleta see ära ja meisterda see uuesti. Loe edasi »
Mädanenud kartulilt koorides ei päästa ning maitse ei muutu. Seevastu mädanevat tarkvara tasuks küll ümber struktureerida ning selle jaoks on olemas vajalikud tööriistad paljudes programmeerimiskeeltes. Kui neid pole, siis aitab Martin Fowler‘i raamat “Refactoring: Improving the Design of Existing Code”. Raamat sisaldab hulgaliselt meetodeid, kuidas ümber struktureerimist läbi viia ja ka erinevaid “lõhnu”, mis annavad mädaniku pisikust teada.
Raamat algab videolaenutuse näitega, kus struktuur on peale vaadates lihtne, kuid vähe rääkiv. Kood on seal küllaltki halvasti majandatud. Näite lõpus räägib struktuur küllaltki pika loo juba.Teiseks raamatu osaks võiks nimetada printsiipide ja lõhnade tutvustamist (s.h komponenditestide (unit test) tegemist). Kolmas osa on ümber struktureerimise kataloog, mis hõlmab raamatust suure osa.
Neid tehnikaid peaks iga endast lugupidav programmeerija teadma, kui talle ei meeldi hapuks läinud asju süüa. Raamatut tasub soetada riiulile, kui kõike ümberstruktureerimise meetodeid meeles pidada ei soovi. Lisaks on esimese kaane siseküljele kirjutatud nimekiri ümberstruktureerimise (refactoring) tehnikatest koos viitega leheküljenumbrile, mis teeb selle kasutamise meeldivaks.
Samalaadseid raamatuid, mida tasuks lugeda:
-
Elliotte Rusty Harold ”Refactoring HTML: Improving the Design of Existing Web Applications” (ilmub arvatavasti 9. juuni 2008)
KAIZEN FEED
Telli endale Kaizeni uudisvoog
KOMMENTAARIDE FEED
Telli endale kommentaaride voog
KAIZEN TWITTER
Lühiuudised Kaizeni autoritelt
KAIZEN FACEBOOK
Liitu Kaizeniga
MIS ON KAIZEN?
Kaizen on Saiku tarkvaraarendusealane blogi, kus kirjutame erinevatest lähenemistest meisterlikule tarkvaraarendusele.
KATEGOORIAD
- .NET (18)
- Analüüs/Arhitektuur (11)
- Arendus (66)
- Ettevalmistus (1)
- Juhtimine (2)
- Varia (23)
SILDIPILV
- .NET (41)
- ilus kood (23)
- Arendus (23)
- C# (20)
- Analüüs/Arhitektuur (14)
- Testimine (10)
- raamat (8)
- Ruby (8)
- projektijuhtimine (8)
- printsiibid (6)
- produktiivsus (5)
- ReSharper (5)
- PHP (5)
- NHibernate (4)
- objekt-orienteeritud (4)
- pidev integratsioon (4)
- Viited (4)
- agile (4)
- Java (4)
- Geekdinner (4)
- lean (4)
- raamatukogu (4)
- CI (3)
- Cruise Control.NET (3)
- Robert C. Martin (3)
- scrum (3)
- iteratsioon (3)
- suhtlus (3)
- jQuery (2)
- TechEd 2008 (2)
- Visual Studio (2)
- valideerimine (2)
- intervjuu (2)
- analüüs (1)
- ASP.NET (1)
- ümberstruktureerimine (1)
- üritus (1)
- CodeRush (1)
- dokumentatsioon (1)
- Kent Beck (1)
- LINQ (1)
- Martin Fowler (1)
- Moq (1)
- Rhino Mocks (1)
- stackoverflow (1)
- võltsitud objektid (1)
- Whiteboard Wednesday (1)
- hindamine (1)
- tarkvara kvaliteet (1)
- ajagraafikud (1)
- Saiku (1)
- koolitus (1)
- tagasivaate (1)
- koosolek (1)
- dünaamilised keeled (1)
- staatilised keeled (1)
- FluentNHibernate (1)
- facebook (1)
- aastapäev (1)
- Rake (1)
- Oredev 2008 (1)
- toyota way (1)
- raiskamine (1)
- NDepend (1)
- podcasts (1)
- väle tarkvaraarendus (1)
- raido tonts (1)
- minimal marketable feature (1)
- kasutajalugu (1)
- twitter (1)
- Joomla! (1)
- MVC (1)
- andmebaas (1)
- versioonimine (1)
- diskussioon (1)
- regulaaravaldised (1)
- motiveerimine (1)
- mõõdikud (1)
- agileestonia (1)
- riistvara (1)
- koolitused (1)
- kujundus (1)
- kodulehed (1)
- veeb (1)
