Kysymys:
Oikea tapa muotoilla opinnäytetyössä / väitöskirjassa oleva tietokonekoodi
iwantmyphd
2014-07-08 06:04:09 UTC
view on stackexchange narkive permalink

Aion sisällyttää laskennallisen mallikoodini (koko) liitteenä väitöskirjaani. Olen käynyt läpi yliopistoni muotoiluohjeet, enkä ole nähnyt mitään oikeaa tapaa muotoilla koodi fontin koon, tekstin rivityksen, välien ja niin edelleen. Mikä on paras tapa tehdä tämä?

Kun luen koodia, vaikka haluaisin sen olevan tyypillinen kirjasinkoko (12 pt), haluaisin myös tekstin rivityksen olevan vähäistä, mutta kun otetaan huomioon perinteiset marginaalivaatimukset, voi olla melko vaikeaa saavuttaa tämä. Koodipolun jättäminen yhdeltä riviltä seuraavalle on yleensä häiritsevää.

Vaikka koodin kommentit estetään suorittamasta käyttämällä merkkijonoa, kuten% tai // tai (* monet kääntäjät värikoodaavat tämän teksti, jotta se on helpommin erotettavissa koodin suoritettavista osista. Onko mitään tapaa tehdä kommentit helposti erottuviksi, kun laitat koodin opinnäytetyön / väitöskirjan tekstiin?

Mitä tekstinkäsittelyohjelmaa käytät?
AilipdtnvoCMT MS Office '08 Mac
Onko neuvonantajalla tai koululla erityisiä ehdotuksia? Jos ei, ydinalgoritmin pseudokoodi on todennäköisesti sopivin yleisölle (tutkielman tutkijat). Sinä. voi aina ladata todellisen koodin githubiin ja mainita sen sekä esimerkkitoteutuksen.
@leonardo Tarkistin yliopiston ohjeet, eikä koodin muotoilussa ollut mitään. Neuvonantajalla / komitean jäsenillä ei ole ehdotuksia tästä.
Sitten valitsen pseudokoodin. Lukijat, joille jokin tietty kieli (tai mikä tahansa kieli) ei ole tuttu, lukevat ja sulavat algoritmin. Keskityisin myös ydinalgoritmiin, koska virheiden käsittelyn kaltaiset asiat ovat hankalia ja häiritseviä.
_ yksipuolinen fontti ... on parasta käyttää luettavuuteen_ - [viittaus vaaditaan]!
Haluatko varmasti _ "... sisällyttää laskennallisen mallikoodini ** kokonaisuutena ** liitteenä" _. Ajattele sitä, että monet eivät ole lukeneet sitä; _a) _ rahasi tuhlaaminen ylimääräisiä sivuja varten ja _b) _ paperin tuhlaaminen. Ehkä voit eristää vain mielenkiintoiset palat?
@JeffE Kiinteämuotoisissa koodeissa yksipuolinen fontti on käytännöllinen välttämättömyys. Myönnän, että kirjoitan joskus Matlab-koodin sans serif -muodossa, mutta se johtuu siitä, että se on vapaamuotoinen. Kaikki sisennyksille herkkä tai suurilla, kovakoodatuilla numeerisilla taulukoilla on paljon helpompaa yksitilassa. Ja kuollut puu -muodossa, kun on vaikea laskea sarakkeiden numeroita, ei-yksipuolinen fontti * voi * aiheuttaa epäselvyyttä sisennysherkässä koodissa. Viite: esivanhempieni käytännön kokemus.
@JeffE Jos napsautat sanaa "yksinäinen", se linkitettiin SE-kysymykseen / vastaukseen, mistä löysin kyseisen tiedon.
Ymmärrän, että koodin kirjoittaminen yksisivuisella kirjasimella on yleinen käytäntö. Kiistän väitteesi, jonka mukaan yleissopimus lisää luettavuutta. @Moriarty: Johdonmukainen, luettavissa oleva sisennys ja taulukon tasaus _ei_ vaadi yksinäistä fonttia.
@JeffE Ymmärrän mielipiteesi ja olen valmis muokkaamaan viestiäni vastaavasti lisäämään sitaatin tai poistamaan yhden paikan kappaleen kokonaan. Pääkysymykseni ei kuitenkaan ollut * fontista sinänsä, vaan * font-size * ja * text-wrapping *. Myös viivan sisennys, kirjasimen väri tai varjostus kommentteja varten ja vastaavat. Ottaen huomioon taustasi ja asiantuntemukseni, olisin hyvin kiinnostunut ajatuksistasi tästä, varsinkin kun en ole lainkaan CS: ssä ja ymmärrykseni koodauskäytännöistä, muotoilusta ja arkistoinnista. Kiitos!
@posdef Neuvojani ja osastojohtajani ovat pyytäneet minua sisällyttämään koodin liitteeseen kokonaisuudessaan (jopa tukitiedostot), vaikka heillä itsellään (eikä yliopistossa tai yliopistossa) ollut ehdotuksia sen oikeasta muotoilusta.
@iwantmyphd näen ... No, toivon, että löydät tyydyttävän vastauksen siinä tapauksessa, valitettavasti minulla ei ole aavistustakaan, onko olemassa tavanomainen tapa sisällyttää niin paljon koodia. :)
Laita se Githubille tai henkilökohtaiselle sivustollesi tai mihin tahansa ja sisällytä linkki siihen opinnäytetyössä.
Voisiko olla parempi isännöidä sitä tietovarastossa, kuten Github, ja antaa linkki siihen opinnäytetyössäsi? Tällä tavalla koodia lukevilla ihmisillä olisi monia arkistojen etuja (esim. Tiedostojen etsiminen, syntaksikorostukset jne.)
Palkkitekstissä viitataan "epäjohdonmukaiseen sisennykseen" ja "kommentointikäytäntöön". Sisäänkäynti- ja kommentointikäytännöt tulisi kattaa tyylin oppaan kielellä, jolla koodisi on, riippumatta siitä, mitä fontin kasvoja tai kokoa käytät.
@ff524 Ja haluamasi tyylioppaat ovat juuri sitä, mitä etsin. Yksi koodi on MatLab, toinen on C, kolmas on Mathematica ja neljäs G-koodi (CNC-koneille).
Niillä ei kuitenkaan ole mitään tekemistä opinnäytetyön kanssa. Katso esim. [C-tyylin oppaat] (http://www.maultech.com/chrislott/resources/cstyle/) (valitse suosikkisi), [MATLAB-tyyliopas] (http://www.cambridge.org/us/academic/subjects / tietojenkäsittelytiede / tieteellinen-laskenta-tieteellinen-ohjelmisto / elementit-matlab-tyyli)
Seitsemän vastused:
jakebeal
2015-01-28 11:03:37 UTC
view on stackexchange narkive permalink

Koodin kirjoittamiseen on useita erinomaisia ​​LaTeX-paketteja, jotka on tehty juuri tällaisiin tilanteisiin. luettelopaketti on yksi hyvä esimerkki, joka sisältää standardoidun muotoilun useille kielille.

Se ei tarjoa "lopullista" tapaa kirjoittaa koodia (sellaista ei ole, koska on olemassa useita kilpailevia käytäntöjä), mutta sen oletusarvot tarjoavat vakiomuotoisen ja hyvin tunnistetun muotoilun, joka on täysin sopiva akateemiset julkaisut. Lisäksi se voidaan räätälöidä vastaamaan oppilaitoksesi opinnäytetyömuotojen epätavallisia vaatimuksia.

Piotr Migdal
2014-07-15 20:24:51 UTC
view on stackexchange narkive permalink

Yhdistetty, syntaksiväritys ja asianmukainen kuvaus, katso esim.

enter image description here

arXiv: 1407.2432: n liitteestä B.

Kuinka tämä lajitelma on? LaTeX-paketin avulla, kuten listalla?
@EnthusiasticStudent Voit etsiä sen lähdettä. Näen "knitrout" -ympäristön, vaikka en pysty havaitsemaan asiaankuuluvaa pakettia. Joten näyttää siltä, ​​että se on vienti [knitr]: stä (http://yihui.name/knitr/) eikä käsinkirjoitetusta LaTeX: stä.
rfulop
2014-07-09 23:58:07 UTC
view on stackexchange narkive permalink

Ehdotan yhden paikan fonttia, koska se on perinteinen tapa näyttää koodi. Kun laitat kaikki koodisi liitteeseen, en ymmärrä miksi. Katkelmat asiaankuuluvista osista olisi kaikki mitä tarvitset. Jos tunnet edelleen tarvetta sisällyttää koko koodi, suosittelen viittaamaan koodiin johtavaan linkkiin Github-arkiston kautta koko koodisi sijaan.

Kysy lisäksi neuvonantajalta, kuka yleisö on. Onko heillä taustaa ohjelmoinnissa? Se olisi kysymys. Jos ei, tee yhteenveto koodista ja käy lukija läpi koodin looginen prosessi. Ehkä vuokaavio olisi hyödyllinen.

mmdanziger
2014-07-15 01:26:59 UTC
view on stackexchange narkive permalink

Jos sinun ei tarvitse tehdä sitä tietyssä muodossa, suosittelen koodin julkaisemista verkossa ja hienon LaTeX-koodin muotoilupaketin käyttämistä niille osille, jotka haluat jakaa painetussa versiossa. Oma suosikkini on lyöty . Erittäin helppokäyttöinen, kaunis muotoilu ja väritys eikä sinun tarvitse kopioida ja liittää mitään, käytä vain komentoa \ inputminted .

Cimbali
2015-02-02 02:48:13 UTC
view on stackexchange narkive permalink

Väitän, ettei ole olemassa todellisia tyyliohjeita, paitsi ehkä (ainoa, joka minulle on annettu), ettei uppoa yleisösi koodiriveihin, joten käytä otteita ja näennäiskoodeja aina kun mahdollista.

Jos haluat silti laittaa koodisi täyspitkäksi paperille, sinun pitäisi olla sen jo luettavissa näytöllä. Sinulla saattaa olla hieman uudelleenkäsittelyä, jos uskot ihmisten lukevan sen todella.

  • Kiinteä kirjasinkoko on perinteinen lähdekoodissa, mikä johtuu Joel Spolskyn mukaan jotta on helpompi muokata (sanoa, että napsautat tiettyä kirjainta) ja erottaa kirjoitusvirheet (esim. rn / m vs rn / m ) kuin käyttämällä vaihtelevia välejä
  • Kiinteä leveys, joten et koskaan vieritä vaakasuoraan, kun koodi on näytöllä. Oikealla kirjasinkoolla tämä huolehtii rivinvaihdosta paperilla.
  • Modulaarinen koodi, jotta ihmiset tietävät missä (esimerkiksi missä tiedostossa) ovat: samoin kuin mielenkiintoisen tiedoston avaaminen, haluat lukijoiden voivan ohittaa määrityssivut, I / O ja mitä muuta, löytääksesi koodisi ytimen.
  • Ole johdonmukainen, kuten jo totesit, kaikissa käytäntöissä: nimeäminen, sisennys, kommentit ...
  • sisältää syntaksikorostuksen (ehkä jopa värityksen?)

Päävaihtoehtosi (suosituimmat subjektiivisella googleability-asteikolla) jälkimmäisen saavuttamiseksi ovat


Ainoat ohjeet, jotka löysin luonnosta, olivat tällä satunnaisella projektiraporttisivulla, melko pienimuotoista (4-6 sivua), ja ne ovat melko ytimekkäitä:

Muoto: Käytä [...] 11 piste kertaa fontti päätekstille ja käytä 10 pisteen kuriirifonttia tietokoneen koodiksi. [...]

Kyllä, koodisi tulisi olla liitteenä, yksinäinen, yksi sarake. Sinun ei tarvitse antaa kaikkia kokeessa käytettyjä koodeja. käytä parasta harkintasi. Haluat ehkä sisällyttää vain asiaankuuluvat koodiosat. Esimerkiksi sinun ei pitäisi sisällyttää koodia, jonka joku muu kirjoitti, ellet tee merkittäviä muutoksia. Jos koodisi on 100 sivua, sinun ei tule tulostaa kaikkia. Jos koodisi on 6 sivua, sinun on tulostettava se kaikki.

Jerric Lyns John
2014-07-15 19:20:03 UTC
view on stackexchange narkive permalink

Standardi on käyttää 10 pisteen kuriiri -fonttia tietokonekoodiin, yksinäinen, yksi sarake .

Sinä sinun ei tarvitse antaa kaikkia kokeessa käytettyjä koodeja; käytä parasta harkintasi. Voit halutessasi sisällyttää vain asiaankuuluvat koodiosat.

MUOKKAA Courierin käyttö on henkilökohtainen valintani tavallisten 10pt fonttien luettelosta, jota voidaan käyttää koodit.

Onko sinulla lähde tälle "standardille"?
@ff524 Kyllä, käytän ensisijaisesti LaTeX: ää [lähdekoodilistaus] (http://fi.wikibooks.org/wiki/LaTeX/Source_Code_Listings), joka on kuin tavallinen tapa kirjoittaa tietojenkäsittelyopinnot, varsinkin jos sinulla on oletettavasti enemmän koodia se. [Arial / Courier ovat 10pt-standardeja] (http://engineering.cmu.edu/files/documents/graduate_students/policies/UMI_PreparingYourManuscriptGuide.pdf), jota Carnegie käyttää tutkielman julkaisemiseen PQ / UMI: n kautta, haluan käyttää Courieria.
robert bristow-johnson
2014-07-15 02:08:35 UTC
view on stackexchange narkive permalink

paras tapa näyttää algoritmin tärkeimpien kohtien koodi on kirjoittaa hyvä koodi.

“Mikä tahansa tyhmä voi kirjoittaa koodin, jonka tietokone voi ymmärtää. Hyvät ohjelmoijat kirjoittavat koodin, jonka ihmiset voivat ymmärtää. ” - Martin Fowler, Refactoring: Parantamalla olemassa olevan koodin suunnittelua

itse koodi pitäisi olla luettavissa vaihteleville nimille tarkoituksenmukaisella valinnalla, jaettuna riittävästi merkityksellisiin funktioihin tai aliohjelmiin, ja minimiarvojen kanssa. tämä tarkoittaa kunnollisen olio- tai strukturoidun koodin kirjoittamista ja esineiden tai rakenteiden tekemistä ja niiden käyttöä.

Haluan jakaa koodin moduuleiksi, joissa on hyvä kommentti tiedosto, joka kuvaa mitä kutsutut toiminnot tekevät ja kuka kutsuu niitä.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...