Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  c# klasside probleem märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
pmz
HV vaatleja

liitunud: 05.07.2008




sõnum 05.07.2008 18:36:57 c# klasside probleem vasta tsitaadiga

Selline mure siis:

Nimelt õpin siis progemist siin ühe tuttava käe all, ta annab mulle ise mingeid ülesandeid ja mina püüan neid lahendada. Ülesanne oli selline, et pidin tegema asp.net veebilehe, kus saab sisestada andmebaasi inimeste kaalu kilodes, pidi olema inimese nimi, kaal ja kaalumiskuupäev. Tegin selle jaoks eraldi klassi. Samuti pidin tegema veebilehel võimaluse keskmise kaalu näitamiseks, üleüldiselt, mõõtmisperioodi järgi, inimese nime osa järgi, et testida mu sql oskusi. Sain sellega hakkama, aga ma tegin selle nii, et igal lehel eraldi arvutasin selle välja. Nüüd ta ütles, et ma prooviks loogika keskmise kaalu arvutamiseks kolida kaalu klassi ja teha seda üldiseks. Ta ise läks kuu ajasele reisile, sellel ajal ma temaga kahjuks suhelda ei saa. Äkki keegi ütleks, mida ta selle all mõtles, just selle üldiseks tegemise all. Kui midagi minu seletuses jäi selgusetuks siis palun küsige, tahaks väga selle valmis teha selleks ajaks kui ta tagasi jõuab reisilt. Aitäh icon_smile.gif
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 05.07.2008 21:14:42 vasta tsitaadiga

Ei oska öelda, mida ta konkreetselt selle üldiseks tegemise all mõtles...

Võimalik, et sul oli lihtsalt mitmes kohas sama koodi korratud. Näiteks kuidagi nii:

funktsioon keskmine_kaal() {
    tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud");
    rida1 = võta_esimene_rida(tulemus);
    kaal = võta_esimene_väärtus(rida1);
    tagasta kaal;
}
funktsioon keskmine_kaal_nime_kohta(nimi) {
    tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE nimi = " + nimi);
    rida1 = võta_esimene_rida(tulemus);
    kaal = võta_esimene_väärtus(rida1);
    tagasta kaal;
}
funktsioon keskmine_kaal_kuupäeva_kohta(kuupäev) {
    tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE kuupäev = " + kuupäev);
    rida1 = võta_esimene_rida(tulemus);
    kaal = võta_esimene_väärtus(rida1);
    tagasta kaal;
}


Selle asemel, et kirjutada kogu keerukas andmebaasist kaalu kättesaamise protsess iga kord uuesti välja, oleks parem luua üks üldisem kaalu pärimise funktsioon, mida saab parameetri abil soovitud kombel käituma panna:

funktsioon tee_kaalupäring(tingimus) {
    tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE " + tingimus);
    rida1 = võta_esimene_rida(tulemus);
    kaal = võta_esimene_väärtus(rida1);
    tagasta kaal;
}
funktsioon keskmine_kaal() {
    tagasta tee_kaalupäring("TRUE");
}
funktsioon keskmine_kaal_nime_kohta(nimi) {
    tagasta tee_kaalupäring("nimi = " + nimi);
}
funktsioon keskmine_kaal_kuupäeva_kohta(kuupäev) {
    tagasta tee_kaalupäring("kuupäev = " + kuupäev);
}


PS. Ma seda C#-i just kuigivõrd ei oska, seega kirjutasin mingis üldises pseudokoodis, aga ma usun, et sa saad üldisest põhimõttest aimu.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
reneSharp
HV kasutaja
reneSharp

liitunud: 13.11.2005




sõnum 06.07.2008 17:23:05 vasta tsitaadiga

Pidas silmas ehk seda et kaalu arvutamine ei sobi web-i lehele vaid teenendavasse kaalu klassi, mis on põhjendatud kui
küsida:
1. Kui lisada uus web-i leht kus samuti on vajadus kaalu näidata (kas on korrektne kopeerida arvutamise kood eelmise veebilehe pealt?)
2. Kui tahaks kirjutada unit testi kontrollimaks kas kaal arvutatakse õieti, kuidas sa testid seda koodi mis asub web-i lehe peal ?
3. Kui täiendada programmi funktsioonaalsust pikkuse arvutamisega mis vajab sisendiks olemasolevat kaalu arvutamise funktsionaalsust mis sa siis peale hakkad ?
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  c# klasside probleem
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.