Koodaamista yhteen vai moneen tiedostoon?

Anonyymi-ap

Ohjelmoinnin kurssilla neuvottiin, että koodia kannattaa jakaa eri tiedostoihin. Kuulin myös ohjelmoijasta, joka tekee ainakin osan muistiinpanoista lähes mielivaltaiseen tiedostoon, josta automaattinen skripti siirtää esimerkiksi datat oikeaan paikkaan. Mitä etuja ja haittoja kummallakin lähestymistavalla on?

11

357

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Tyhmä kysymys. Mieti nyt vähän itsekin.

    • Anonyymi

      Jos on koodia jota voi käyttää useasti niin kannattaa pitää se eri tiedostossa joka sitten import tarvittaessa. Niin ei ole turhaan silmissä.

    • Anonyymi

      Erillistä dokumentaatiota voi olla paljonkin ennen koodausvaihetta. Koodin dokumentointiin on työkaluja esim. Doxygen osaa poimia koodista tietyllä tavalla kirjoitettuja kommentteja ja tehdä niistä nätin dokumentaation - tuo on vain esimerkiksi, voi löytyä parempiakin maailmalta tai johonkin kieleen voi liittyä omia tottumuksiaan dokumentaation suhteen ja yleensä niistä on tapana pitää kiinni, koska se nopeuttaa dokumentaation lukemista.

    • Anonyymi

      Eihän Legotalokaan ole yksi palikka, vaan osista, jolloin sitä on helppo muokata.

    • Anonyymi

      Yksi osakokonaisuus yhteen tiedostoon. Se helpottaa koodin omaksumista mm. sitten, kun sinä taikka joku muu joutuu ylläpitämään sitä joskus vuosien kuluttua.

      Yksi tiedosto on periaatteessa yksi moduuli, jonka linkkeri ottaa (kirjastosta) tai jättää linkittämättä ohjelmaan. Nykyään kääntäjä saattaa osata pilkkoa moduulin yksittäin linkitettäviksi funktioiksi, mutta vanha periaate on hyvä lähtökohta edelleen.

    • Anonyymi

      Ainakin jos haluaa kääntää tiedostoja rinnakkaistetusti (kun kääntää koko projektin puhtaalta pöydältä), kannattaa koodi olla mahdollisimman monessa tiedostossa, esim oma projekti kääntyy 32 tiedostoa kerralla, linuxissa noin 19s ja Windowsissa 35s, kooririvejä noin 93t.

      • Anonyymi

        Rinnakkaisuus ei välttämättä toimi toivomallasi tavalla. Sehän edellyttää jo lähtökohtaisesti sitä, että prosessori(t) ja käyttis tukevat rinnakkaisuutta h/w-tasolla. Jos koneessasi on 32 prosessoriydintä, edellytys saattaa täyttyä.

        Mutta useinhan on näin, että ohjelmamoduuliin luetaan iso nippu headereita tms., jotka saattavat olla kooltaan / rivimäärältään moninkertaisesti sen mitä itse projekti. 32 kertaa näiden headereiden läpikäynti on helposti suurempi työ kuin noin 93t koodirivin kääntäminen.

        Ajatus hyvä, mutta väitän, että kääntäjän suoritustehoa on vaikeaa nostaa koodin pilkkomisella.


    • Anonyymi

      Ohjelmakoodi kannattaa ehdottomasti jakaa useaan eri lähdekoodikooditiedostoon. Ohjelmakoodi on syytä jakaa loogisiin osiin , jotka kukin on omassa lähdekooditiedostossaan Yksittäinen lähdekooditiedosto voi sisältää johonkin tiettyyn tehtävään tehdyn luokan, komponentin tai moduulin jne. Ylipäätänsä ideana on pilkkoa lähdekoodi selkeisiin loogisiin osiin sensijasta, että kaikki tungettaisiin samaan lähdekooditiedostoon. Lähdekoodin pilkkominenuseisiin lähdekooditiedostoihin mahdollistaa mm. nämä:

      - uudelleen käytettävät lähdekoodikomponentit, joita voidaan käyttää useaan kertaan ilman, että pyörää tarvitsee jns keksiä uudelleen aina kun samaa toiminnallisuutta tarvitaan samassa tai eri projektissa.

      - Paljon selkeämmän ja helpommin ylläpidettävän lähdekoodin

      - uudelleen käytettävän komponentin muuttamisen ja jatkokehittämisen niin, että muutokset tarvitsee tehdä vain kerran ja jatkokehitettyä komponenttia voidaan sitten heti käyttää useassa paikassa saman tai eri projektin sisällä.

      jne.

    • Anonyymi

      100 tiedostoa, 10 riviä per tiedosto = lukukelvotonta.
      Vielä 10000 riviä menee yhdessä tiedostossa hyvin kun käyttää funktioiden ja luokkien supistamista editorissa.

      • Anonyymi

        Niinno, hyväkin asia voi kääntyä huonoksi liian pitkälle vietynä.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Miehille kysymys

      Onko näin, että jos miestä kiinnostaa tarpeeksi niin hän kyllä ottaa vaikka riskin pakeista ja osoittaa sen kiinnostukse
      Tunteet
      132
      3787
    2. Miksi kaivattusi on

      erityinen? ❤️‍🔥
      Ikävä
      85
      1885
    3. Olen tosi outo....

      Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap
      Ikävä
      15
      1731
    4. Haluaisin jo

      Myöntää nämä tunteet sinulle face to face. En uskalla vain nolata itseäni enää. Enkä pysty elämäänkin näiden kanssa jos
      Ikävä
      54
      1402
    5. Ylen uutiset Haapaveden yt:stä.

      Olipas kamalaa luettavaa kaupungin irtisanomisista. Työttömiä lisää 10 tai enempikin( Mieluskylän opettajat). Muuttavat
      Haapavesi
      123
      1264
    6. VENÄJÄ muuttanut tänään ydinasetroktiinia

      Venäjän presidentti Vladimir Putin hyväksyi tiistaina päivitetyn ydinasedoktriinin, kertoo uutistoimisto Reuters. Sen mu
      Maailman menoa
      95
      1251
    7. Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta

      https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi
      Kotka
      35
      1209
    8. Nainen olet valoni pimeässä

      valaiset tietäni tietämättäsi ❤️
      Ikävä
      69
      1134
    9. Mitä toivot

      Tulevilta päiviltä?
      Ikävä
      68
      1014
    10. Hommaatko kinkkua jouluksi?

      Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k
      Sinkut
      102
      985
    Aihe