Olen tässä miettinyt, että kun aletaan tekemään jotain hieman laajempaa PHP-sovellusta niin, mitä kaikkea tulisi ottaa huomioon? Itselläni ainakin alkaa aina mietityttämään, että tekeekö sovelluksen ns. vanhanaikaisella tavalla niin, että heittää funktiot yhteen tiedostoon ja sisällyttää ne sitten itse ohjelmiin vai alkaisiko tekemään oliopohjaistasovellusta. Olio-ohjelmointi on nykypäivänä yleistynyt sen verran paljon, että sinänsä oliot ovat varmasti hyvä vaihtoehto, mutta se tekee sovelluksen kehityksen entistä monimutkaisemmaksi... Samoin myös se mietityttää, että osaako sitä tehdä tarpeeksi optiomoitua ja fiksua koodia, kun kuitenkin tavoite on päästä mahdollisimman laadukkaaseen lopputulokseen. Eli minkälaisia vinkkejä teillä olisi antaa?
P.S. Sellaiset, jotka ovat opiskelleet amiksessa datanomiksi, niin voisivat kertoa, että kuinka hyvin PHP:tä käsitellään siellä ja oppiiko siellä jotain sellaista, mitä ei esim. putkan oppaita lukemalla opi?
lainaus:
Olio-ohjelmointi ... tekee sovelluksen kehityksen entistä monimutkaisemmaksi
Jos olioiden käyttäminen tekee kehityksestä monimutkaisempaa, niin käytät niitä väärin tai oliot eivät ole oikea ratkaisu tarpeeseesi.
Tarkoitan lähinnä sitä, että luokan suunnittelussa on oltava aika tarkkana, että luo kaikki tarvittavat metodit ja attribuutit sekä sen lisäksi osaa luoda luokkahierarkiasta oikeenlaisen... En kyllä ihan kaikkia ominaisuuksia osaakkaan käyttää eli ei minulla ihan tarkkaa käsitystä ole olio-ohjelmoinnista ainakaan PHP:n kohdalla. Esim. en ymmärrä, että mitä virkaa on niillä _get ja _set -metodeilla, mitkä on PHP:hen sisäänrakennettu?
Triton kirjoitti:
Olio-ohjelmointi on nykypäivänä yleistynyt sen verran paljon, että sinänsä oliot ovat varmasti hyvä vaihtoehto, mutta se tekee sovelluksen kehityksen entistä monimutkaisemmaksi...
Kaikessa ohjelmoinnissa kannattaa käyttää vain sellaisia tekniikoita, joiden merkityksen ja hyödyn ymmärtää itse. Ei ole järkevää ohjelmoida olioilla ja ajatella koko ajan: "tämä menisi helpommin ilman olioita, mutta kun kerran kaikki kansa käyttää olioita, minunkin kai täytyy".
Minkä tahansa nettisivuston voi toteuttaa joko ilman olioita tai niitä käyttäen, eli oliot eivät tuo mitään uusia mahdollisuuksia ohjelmointiin. Olioista voi olla hyötyä siinä, että koodin rakenne on selkeämpi ja ohjelmointi on helpompaa.
Niin no joo... näinhän se menee...
Juu ja olioilla vaan kokematon koodaa koodia josta muiden on vaikea ymmärtää mitään ilman kunnollista perehtymistä jos ohjelmaa ei ole kovin hyvin dokumentoitu.
Triton kirjoitti:
Tarkoitan lähinnä sitä, että luokan suunnittelussa on oltava aika tarkkana, että luo kaikki tarvittavat metodit ja attribuutit sekä sen lisäksi osaa luoda luokkahierarkiasta oikeenlaisen...
Oliopohjaisesta suunnittelusta ja toteutuksesta on kirjoitettu myös ties kuinka monta kirjaa. Kannattanee vilkaista, jos aihe kiinnostaa laajemmaltikin. Ja se vaatii kokemusta, että osaa erottaa siitä omasta suunnitelmastaan, että mistä tehdään minkäkinlainen luokka. Vaikka alussa suunnitelet jonkinmoisia luokkia, niin todennäköisesti kesken koodailujen huomaat, että jotain pitää muuttaa. Ja vaikka kokemusta olisi, niin ei se siltikään aina ihan yksinkertaista ole. Tekemällä oppii.
Antti Laaksonen kirjoitti:
Kaikessa ohjelmoinnissa kannattaa käyttää vain sellaisia tekniikoita, joiden merkityksen ja hyödyn ymmärtää itse.
Noinhan se on. Jos oliolähestymistapa ei ole entuudestaan tuttu, niin kannattanee hieman ensin tutustua, että mistä siinä on kyse noin periaatteiden tasolla, miksi sitä käytetään ja miten siihen on tultu. Eivät ne oliot mitään taikakaluja ole, joilla automaattisesti syntyy parempaa koodia ja elämä helpottuu.
Ja ehkä hieman aihetta sivuten voinee vielä mainita, että toki on joitakin alueita, jonne oliopohjainen ajattelutapa ei välttämättä ole paras mahdollinen. Ne ovatkin sitten jo toisen aiheen juttuja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.