» »

Načrtovanje programa, programske kode, dokumentacija

Načrtovanje programa, programske kode, dokumentacija

mirch ::

Zanimalo me bi kako vi načrtujete in dokumentirate kodo, od začetne ideje in zasnove ("skiciranja") do končne dokumentacije, kaj vse vsebuje.

Namreč napisal windows program v WPF C# in bi potreboval neki vzgled po katerem bi lahko dokumentiral to kodo, saj slednje počnem prvič. Obstajajo kakšna pravila kako bi naj dokumentacija izgledala? Obstaja kakšen standard mogoče?
Prav tako me zanima samo načrtovanje, ko se neko podjetje odloči za izdelavo programa/knjižnice... Kako izgleda dokumentacija ki jo predajo programerju v podjetju (front-end in back-end)?

Prosil bi tudi za kakšne primere s spleta. Hvala

HotBurek ::

root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Red_Mamba ::

Doc: http://www.stack.nl/~dimitri/doxygen/

Plan mora imati vse podrobnosti, ki jo programer rabi. Ne samo kako se naj koda obnasa. Ampak tudi izmenjava podatkov z bazo. Shranjevanje fajlov...
Ne pozabit na avtomatske/manual teste. Nobena koda nebi smela it v produkcijo brez testiranja ;)

V tujini je popularen agile development. Vec bos nasel na spletu.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Zgodovina sprememb…

kuall ::

Takle je perfekten postopek delanja programa, najhitrejši način programiranja:
1. Napišeš dokumentacijo za uporabnike in načrt za sebe. Najprej splošen načrt potem vsako točko bolj podrobno razložiš.
2. Narediš testne programčke za vse probleme, za katere nisi siguren, kakšno kodo moraš napisat, da bodo delovali.
3. Natipkaš vso kodo brez testiranja. Vmes si pišeš seznam testov. Najbolje naredit tudi unit teste, če je program zakompliciran, v tem primeru najprej napišeš unit teste.
4. Testiraš, dokler program ne dela 1 dan brez napak. Tukaj je zelo dobro imeti pomoč, ker se naveličaš sam testirat, ta korak je po mojih izkušnjah vedno najtežji. Zato pa je dobro napisat čimveč unit testov.

Dokumentiranje kode: Vedno dokumentiraj funkcije (kaj naredi, vhodne parametre in rezultat) in bloke kode, kodo združuj po blokih in blok vedno komentiraj, tudi če je samo 1 vrstica komentarja. Tako koda postane veeeliko bolj pregledna, ko jo boš bral kasneje.

Zgodovina sprememb…

  • spremenilo: kuall ()

krneki0001 ::

Sam delam tako:
1.) Uporabniška specifikacija - kaj uporabnik pričakuje od programa, kakšni naj bodo ekrani, barve, polja, prikria polja,...
2.) tehnična specifikacija - kaj vse bo program vseboval, katere baze bo uporabljal, kaj naj program deluje
3.) Testni primeri - podatki in pričakovani rezultati iz teh podatkov
4.) programiranje - moj del, ki ga naredim
5.) programersko testiranje - moji testi pravilnosti in funkcionalnosti
6.) uporabniško testiranje - testiranje skupaj z uporabnikom
7.) testiranje skupaj z ostalimi sistemi - preverjanje delovanja in vpliva na ostale sisteme
8.) pridobitev vseh papirjev, da program deluje v skladu z uporabniškimi zahtevami
9.) uvedba v produkcijsko okolje.

mirch ::

HotBurek: Hvala za link, sem pa delal tocno tako kot je napisano v postih - z "///". Sem pa si instaliral tudi GhostDoc in mislim da je bil GhostDoc (free version) tisti ko je samodejno generiral komentar, vcasih si ga moral dopolnit vcasih pri enostavnejsih pa je zadel komentar
Red_Mamba: Ja Doxygen je super kar se tice dokumentacije
kuall & nebivedu: Hvala za postopek, dobil malo obcutek kaj je dejansko zahtevano itd.

HVALA VSEM!

holabaluza ::

Kar se tice nacrtovanja programa:

1. zbiras user story:
- na podlagi teh gradis seznam featurjev, ki jih uporabniki zelijo
- prioritiziras feature
- featurjem dodas nek time estimate (tale tocka je posebej zahtevna)
2. izberes tehnologijo (programski jezik, frejmworki)
3. naredis nek MVP (minimum viable product) oz. prototip
- pri pisanju featurjev jih idealno pokrivaj sproti z unit testi
4. ponudis stranki to kot nek early access (alpha release)
5. naredis analizo skupaj z stranakmi (intervjuji, ankete) in gradis notve user story-je, se vrnes na tocko 1

Ko mas enkrat nek uporaben izdelek, pred izdajo naredis se avtomatizirane integracijske teste, da kasneje kaj ne podres.

zos ::

Sem mislil napisati en daljsi post, pa se mi ne da. So trije avtorji pred mano povedali vse. Ker si vprasal za standarde, pri nas uporabljamo dokumente po IEEE specifikaciji (SRS za zahteve, SDD za tehnicni del).


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kdo je "dober" programer?

Oddelek: Programiranje
484721 (3313) kunigunda
»

Unit testing - se poslužujete?

Oddelek: Programiranje
334836 (2986) krneki0001
»

Applov nov programski jezik Swift (strani: 1 2 )

Oddelek: Novice / Apple iPhone/iPad/iPod
7231753 (26314) Kocka
»

Incident Knight Capital in slaba programska oprema, ki poganja svet

Oddelek: Novice / Znanost in tehnologija
4714726 (11633) Poldi112
»

Avtomatično prepoznati POST spremenljivke

Oddelek: Programiranje
121466 (1259) AnonimkeOP

Več podobnih tem