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

389

    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. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      30
      3521
    2. Kukka ampu taas Kokkolassa?

      T. olisi hetkeä aiemmin lähtenyt johonkin. Naapuri kai tekijä J.K., ei paljasjalkainen Kokkolalainen, vaan n. 100km pääs
      Kokkola
      9
      1578
    3. Kuinka kauan

      Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?
      Ikävä
      113
      1483
    4. Milli-helenalla ongelmia

      Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell
      Kotimaiset julkkisjuorut
      224
      1275
    5. Kun näen sinut

      tulen iloiseksi. Tuskin uskallan katsoa sinua, herätät minussa niin paljon tunteita. En tunne sinua hyvin, mutta jotain
      Ikävä
      34
      893
    6. Purra saksii taas. Hän on mielipuuhassaan.

      Nyt hän leikkaa hyvinvointialueiltamme kymmeniä miljoonia. Sotea romutetaan tylysti. Terveydenhoitoamme kurjistetaan. ht
      Maailman menoa
      242
      893
    7. Yhdelle miehelle

      Mä kaipaan sua niin paljon. Miksi sä oot tommonen pösilö?
      Ikävä
      60
      879
    8. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      131
      879
    9. Ja taas kerran hallinto-oikeus että pieleen meni

      Hallinto-oikeus kumosi kunnanhallituksen päätöksen vuokratalojen pääomituksesta. https://sysmad10.oncloudos.com/cgi/DREQ
      Sysmä
      66
      854
    10. Löydänköhän koskaan

      Sunlaista herkkää tunteellista joka jumaloi mua. Tuskin. Siksi harmittaa että asiat meni näin 🥲
      Ikävä
      98
      819
    Aihe