Arendamisreeglid ja kuidas panna arendajaid neid järgima

by melborp 13. august 2007 08:35

Mis on arendamisreeglid (design guidelines) ja milleks neid üldse vaja?

Ühtsed arendamisreeglid ja nende reeglite järgimine ettevõttes tagavad kvaliteetsema programmikoodi, mis järgib arendamise häid tavasid, mustreid jne (muidugi on see kood sama kvaliteetne kui arendusreeglid :) ). Lisaks tagab ühtse koodi arendajate jaoks - neil on kergem seda lugeda ja sellest aru saada. Ka on see kasulik uutele arendajatele, kes ei tea ja tunne häid praktikaid ning võtteid veel ja vajavadki just niisugust juhendit.

Arendamisreeglid saavad olla platvormist ja keelest sõltumatud (üldisemad) või sõltuvad. Tihedamini on nad siiski platvormist sõltuvad ja võtavad arvesse just selle platvormi ja keele eripärasid ning praktikaid (just nendest ma räägingi siin).

Kust leida mõnda näidet?

Kunagi aasta-poolteist tagasi moodustasin ma arendamisreeglid Vita jaoks. Ja siis oli palju abi ühest raamatust - "Framework design guidelines: conventions, idioms and patterns for reusable .Net libraries". Antud raamat on kirjutatud .Net -i raamistiku arendajate poolt ning selles tutvustatakse reegleid, mida kasutati .Net -i raamistiku arendamisel ja miks just neid kasutati ning antakse soovitused enda rakenduste (taaskasutatavate koodiosade) arendamiseks. Igatahes mina nautisin seda raamatut :). Samad reeglid, mis on raamatus võite leida ka MSDN -st.

Kuigi usun, et internetist leiaks mitmeid valmis arendusreeglite dokumente, mida aluseks võtta, soovitan siiski teile ka ühe omalt poolt :)

On olemas üks ettevõte nimega IDesign ja nad on publitseerinud avalikkusele kasutamiseks arendamisreeglid (lisaks kõigele muule kasulikule, mis nad on avalikustanud). Võite leida selle dokumendi siit.

Aga, arendajal ei pruugi alati meeles olla need reeglid?

Tõsi see on, kellel meist seisaks kõik meeles, mis teha on vaja? Aga pole hullu, enam ei peagi kõikke meeles pidama ja ka harjumuste muutmine on tehtud lihtsamaks.

Selleks on vaja kahte sammu.

Samm 1:

Võtta kasutusele Visual Studio 2005 plugin Code Style Enforcer. Antud vahend annab märku kui eksitakse defineeritud reeglite vastu.

Järgnev pilt demonstreerib, kuidas eksitakse privaatse muutuja defineerimisel.

bs_example_red

Ja kuidas aitab antud plugin parandada viga.

bs_example_red_correcting

Reeglid mida järgida on defineeritud XML failis ja on väga lihtne muuta vastavalt sisemistele arendamisreeglistele. Lihtsalt defineerid rule -e.

Konfiguratsioonifaile on mitu ja üks nendest näeb välja järgmine.

bs_example_config

Note: selleks et lihtsustada XML -i failide muutmist soovitan alla tõmmata vastava XSD faili (antud juhul see) ning paigutada "C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas" kataloogi. Kui XSD on paigutatud sinna ja failis on viide antud XSD -le namespace -s, kasutab Visual Studio selles kirjeldatud reegleid ja enforcib neid. Ehk teil on tunduvalt kergem XML -s korrektset konfiguratsiooni kirjutada.

Samm 2:

Avada Visual Studio -s projekt ning valida see projekt. Teha parem klõps selle peal ja valida Properties. Avanenud aknas on vasakul loetelus valik Build. Valida "Treat warning as errors" loetelust valik All.

Antud valik tagab, et kui on mõni warning üleval, siis lahendust ei kompileerita, ennem kui on kõik warningud ka korda tehtud.

Nüüd ei saa arendaja isegi warninguid ignoreerida ja üks tüüpiline asi, mida warninguna näidatakse on XML -i kommentaarid koodis, mis on hädavajalikud ja ei võta nii palju aega arendaja poolt.

XML -i kommentaaride kaudu dokumenteerimist lihtsustab vahend nimega GhostDoc :) Soovitan kõigile! Armusin sellesse vahendisse juba ammu!

Hääd reeglite kasutusele võttu :)

Tags:

Disainivõtted | Arendus | Visual Studio

Lisa kommentaar




  Country flag

biuquote
  • Kommentaar
  • Preview
Loading



Autorist

Taavi Kõosaar

 Tere, olete sattunud mu blogi peale. Olen Taavi Kõosaar - tarkvara arendaja, arhitekt ja konsultant keskendudes arendamisele .NET -i platvormil. Hetkel asun peamiselt Rootsis, kus töötan Süsteemi Arhitektina toote/teenuse arendamisel, mida kasutatakse üle Euroopa. Lisaks tööle blogin, kirjutan artikleid, pean loenguid, treeninguid, reisin, loen raamatuid, sukeldun, teen sporti, fotografeerin, osalen Eesti arendajate kommuunis ...

Siit leiate minu mõtisklused ja seiklused tarkvara arendamisega, .NET -ga ja Team Systemiga.

Kalender

<<  september 2010  >>
estekonerela
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Liikmelisus

www.eneta.ee

Team System MVP

Tutvu minu LinkedIn profiiliga

Minu Eneta profiil

Lugejatest

Kaart:

Lugejad:

Hetkel lehel:

hit counters

Külastajaid:

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Siin toodud arvamuseid saab käsitleda vaid kui minu isiklike arvamusi, need ei kajast vähimalgi kombel ühegi minu tööandja arvamusi ja nägemusi.

© Copyright 2010 Melborp.NET