Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Kuidas teha moodulitega laiendavat süsteemi? 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:  
rang
HV kasutaja
rang

liitunud: 21.03.2005




sõnum 27.08.2008 20:48:09 Kuidas teha moodulitega laiendavat süsteemi? vasta tsitaadiga

Mõtlesin, et võtaks codeigniteri frameworki(php) ja teeks mingi sisuhaldussüsteemi oma tarbeks. Aga ma pole vist oop-st ja class-ide asjast väga hästi aru veel saanud ja ei oska mõelda välja vastavat lahendust.
Internetis on väga palju erinevaid sisuhaldussüsteeme, aga mulle tundub, et need on liiga piiravad(moodulite toetus, raske aru saada, kuidas teha mooduleid).

Kas keegi oskaks seletada, kuidas kirjutada süsteemi kood nii, et hiljem oleks seda lihtsam laiendada?
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 28.08.2008 00:10:55 Re: Kuidas teha moodulitega laiendavat süsteemi? vasta tsitaadiga

rang kirjutas:
Kas keegi oskaks seletada, kuidas kirjutada süsteemi kood nii, et hiljem oleks seda lihtsam laiendada?


Jah, mu noor sõber, võin sulle seda õpetada, kuid enne pead lugema vanade prohvetite õpetusi ja seadma oma elu ja koodi nende järgi. Nendes õpetustes seisavad järgmised asjad:

* Ära korda ennast. Väljenda oma teadmised ainult ühes kohas ja ainult üks kord. Kordused tähendavad raskemat hallatavust, pikemat koodi ja üleüldse kehvemat tuju.

* Jaga ja valitse. Selle strateegiaga on lahendatavad praktiliselt kõik programmeerimisalased ülesanded. Jaga probleemid tükkideks. Jaga suured moodulid väikesteks. Suured funktsioonid tillukesteks. Ja seejärel kombineeri nad kokku võimsaima tulemuse nimel. Nii sünnibki Tao.

* Enneagne optimeerimine on kõige kurja juur. Ära optimeeri seda, mida sa pole mõõtnud - see ei tule kasuks sinu karmale.

* Testi, või muidu testivad su koodi teised. Ja kuidas sa saad üldse kindel olla, et su kood teeb, mida sa tahad, kui sa ei testi. Üldiselt mõjub testimine koodi jingi ja jangi tasakaalule väga positiivselt.

* Dokumenteeri. Pea meeles, et literatiivse programmeerimise isa Donald Knuth silmitseb ka su kõige paremini dokumenteeritud moodulit sügava tülgastusega. Aga dokumenteeri sellest hoolimata.

* Õpi erinevaid keeli, sest igal keelel on oma mõte ja eesmärk (aga ära programmeeri COBOLis kui sa saad seda vältida). Valgustatud õpilane peaks olema tuttav kolme olulisima keelega: C, Perl ja Lisp.

* Õpi UNIXit, sest UNIXist on õppinud kõik teised operatsioonisüsteemid, ja need kes pole õppinud, need olnud sunnitud ise UNIXi taasleiutama - tavaliselt kehvemini ja vigaselt. Ja õpi valitsema käsurida, sest ainult need, kes valitsevad käsurida, omavad tõelist kontrolli oma arvuti üle.

Kui oled oma elu ja koodi nende õpetuste järgi seadnud (ja mõningate teiste järgi, mis mul praegu kohe meelde ei tulnud), siis tule taas minu juurde ja ma ütlen sulle: "Nüüd oled sa valgustatud mu poeg. Nüüd võid sa minna ja kirjutada oma süsteemi. Ja selle kood saab olema lihtsasti laiendatav. Ja teised programmeerijad lausa kaugetelt maadelt tulevad kohele, et vaadata kui ilus ja lihtsasti laiendatav see kood on."
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 11.09.2008 20:38:24 Re: Kuidas teha moodulitega laiendavat süsteemi? vasta tsitaadiga

nene kirjutas:
* Jaga ja valitse. Selle strateegiaga on lahendatavad praktiliselt kõik programmeerimisalased ülesanded. Jaga probleemid tükkideks. Jaga suured moodulid väikesteks. Suured funktsioonid tillukesteks. Ja seejärel kombineeri nad kokku võimsaima tulemuse nimel. Nii sünnibki Tao.

Ei, niimoodi sünnib "vähkkasvaja" nagu näiteks Gallery2 icon_razz.gif

Muidugi, mina pean silmas seda, et Gallery2 puhul on asi jagatud lisaks funktsioonidele jms ka veel megapaljude failide vahel laiali nii, et seda jampsi kasutajal läbi FTP kustutada alles annab...

Niet asjal on mitu otsa - oleneb, kelle jaoks midagi teha... progejatele veibolla selline lähenemine hea, aga teistele kasutajatele??? njah, aga mitte et ma nii tark oleksin, et pikalt programmeerimis-filosoofilist arutelu pidada icon_biggrin.gif
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 11.09.2008 21:25:50 vasta tsitaadiga

kui tihti sa seda siis kustutama pead ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
sander85
HV kasutaja
sander85

liitunud: 30.09.2007




sõnum 11.09.2008 21:58:36 vasta tsitaadiga

klassid ja asjad on ikka hea kui on eraldi failides, hõlpsam leida ja edasi arendada.. kui kõik ühes failis, siis on haldamine ikka lõpuks parajalt keeruline
_________________
Think of how stupid the average person is, and realize half of them are stupider than that.
-- G. Carlin
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 11.09.2008 23:58:36 Re: Kuidas teha moodulitega laiendavat süsteemi? vasta tsitaadiga

Aq kirjutas:
Gallery2 puhul on asi jagatud lisaks funktsioonidele jms ka veel megapaljude failide vahel laiali nii, et seda jampsi kasutajal läbi FTP kustutada alles annab...


Kui see on tõesti Gallery2 puhul probleemiks, siis õige lähenemine oleks luua skript, mis näiteks suure hunniku pisikesi PHP faile kõik üheks suureks kokku paneks. Seejärel saab arendada ikkagi suurt hulka faile kasutades ning iga avaliku versiooni väljalaskmisel tuleb lihtsalt korraks too skript käima tõmmata.

Näiteks jQuery meeskond kasutab oma arenduses just taolist lahendust, kuna kõik eelistavad kasutada JavaScripti libraryt, mis koosneb vaid ühest failist, kuid arenduses üheainsa hiigelsuure failiga ringi mässata on meeletu piin, mistõttu arendusversioon koosneb tegelikult mitmest eraldi failist.

Nõndaviisi on õnnelikud nii arendajad kui kasutajad.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
linnumees
HV kasutaja

liitunud: 15.06.2005




sõnum 12.09.2008 13:59:36 vasta tsitaadiga

Javascripti puhul on määravaks pigem kasutajapoolse laadimise aeg - brauser tirib ju vaikimisi korraga alla vaid 2 faili samalt domeenilt ning Javascripti laadimiseks lehe renderdamine peatatakse...
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 12.09.2008 18:43:36 vasta tsitaadiga

mikk36 kirjutas:
kui tihti sa seda siis kustutama pead ?

Varem üsna tihti - ma mitu korda pusisin sellega ja lootsin, et saab asja, aga ikka totaalne "overkill" on tehtud... Kui kuskil midagi kasutama peaks, siis ilmselt võtan selle 1. seeria edasiarenduse ikka... Viimasel ajal aga pole www-sid ehitanud ega kuskile pilte "üles visanud", seega rahu majas.
nene kirjutas:
Kui see on tõesti Gallery2 puhul probleemiks, siis õige lähenemine oleks luua skript, mis näiteks suure hunniku pisikesi PHP faile kõik üheks suureks kokku paneks. Seejärel saab arendada ikkagi suurt hulka faile kasutades ning iga avaliku versiooni väljalaskmisel tuleb lihtsalt korraks too skript käima tõmmata.

Nutore, kui oskajaid kah on icon_wink.gif Siis tõesti kõik rõõmsad...
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Kuidas teha moodulitega laiendavat süsteemi?
[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.