Archive for February, 2008
Paljude arendajate jaoks on pärast Re# kasutamist võimatu kasutada Visual Studio‘t ilma selleta. Lihtsalt loll tunne tuleb peale, et miks seda ja teist pole.
Kuigi Re# pakub paljusid kiirklahve välja (Re# kiirklahvide kaart), siiski on unustatud mõned. Kui tahad teste käivitada, siis ilusat ja kena kiirklahvi sellele pole, kuigi on olemas teine võimalus, kuidas kiirendada tööd ilma konkreetsete kiirklahvideta. Abiks on ALT klahv, mis viib meid kenasti menüüsse.
Re#-is kõikide testide käivitamiseks tuleb järgnev kombinatsioon vajutada: Alt + R, U, N
Käesoleva testi käivitamiseks aga: Alt + R, U, R
Uute failide loomine malli järgi pole raske: Alt + R, N, [Malli esimene täht]
Menüüdest saab sedasi nii mõnegi funktsionaalsuse kiiremini kätte. Lisaks hea klaviatuuri kasutamisega annab teha enda tööpind Visual Studio’s küllaltki suureks peites ebavajalikud aknad ära. (Kellel puudub menüü nupp (sama, mis hiire parem nupp) klaviatuurilt võivad meelsasti kasutada Shift + F10). Hiir jäägu Sharepoint‘i arendajatele
Testide kirjutamine ei ole keerukas (juhul kui väga jubedat koodibaasi all pole), kuid neid võib loogika tõttu palju tulla. Seega on probleemiks testimata koodi leidmine, kuigi see mure on pikemat aega lahendatud koodikaetavuse auannetega.
Esmalt vaatame, mis koodikaetavus on. Seda võib defineerida testides käivitatud koodiridadena s.t need koodiread on testide poolt käivitatud. Loe edasi »
Kui anekdooti rääkida esimest korda, siis arvatavasti on see naljakas, teisel korral juba on pool võlu kadunud, kolmandat korda kuuldes ei pruugi isegi muie enam näole tulla. Samamoodi on ka tarkavara arenduses – kui kolmandat korda ühte ja sama koodilõiku kirjutada, siis kaob muie näolt ja tuleb mõtlema hakata, kuidas struktuuri parandada. Seda eirates läheb kood hapuks ja anekdoodivestjast koomikut ei saa.
IT juht läheb ülemuse jutule ja ütleb: “Meil oleks vaja uut serverit.” Ülemus seepeale uudishimulikult küsib: “Millist?” IT juht teeb suured silmad ette ja vastab: “Kahe millist.”
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)
Hiljuti oli mul aega vaadata nädalas kogunenud huvitavamad ajaveebide kanded üle. Leidsin sealt päris huvitavat:
Kent Beck’i intervjuu
InfoQ-s avaldati 30 minuti pikkune intervjuu tema uue raamatu kohta “Implementation Patterns”, mis on väärt lugemist. Muidugi ei ole selles intervjuus kõige olulise raamat mu arust, vaid hoopis see, mida ta koodist arvab ja mõned teised huvitavad seigad (näiteks kuidas ta tudengina raamatuid luges).
Whiteboard Wednesday
Max Pool hakkas tegema lühikest sarja “Whitboard Wednesday”, kus ta seletab lahti väledate metoodikate (agile methodology)Â maailma praktikaid. Need on piisavalt lühikesed, et esmamulje asjast saada. Ilmunud on tal järgmised huvitavamad episoodid:
- Using Your Bug Tracker For Estimation Tracking
- Benefits of Point Estimation
- The ROI of Testing
- Building Slices, Growing Layers
Igal juhul head vaatamist teile!
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 (24)
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)
- tööpakkumised (1)
- 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)
