Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointiputka: Kooditageista

Metabolix [10.01.2012 22:05:14]

#

Tämä keskustelu alkoi alunperin sivuraiteena toisaalla.

User137 kirjoitti:

Index ei ole pascal:ssa varattu sana jota tarvitsee lihavoida.

Se on varmaan peräisin tästä listasta. Moni näistä on minusta luontevaa lihavoida, esim. luokkiin liittyvät määreet. Mikä on sinusta paras ratkaisu?

User137 [10.01.2012 22:18:15]

#

No ainakaan Delphin ja Lazaruksen IDE:t ei lihavoi indexiä joka kontekstissa. Oikeastaan IDE varmaan lukee koodia ymmärtäen mitä ne tekee missäkin. Esim read() ja write() on perinteisiä funktioita joita se ei lihavoi, mutta jos niitä käyttää property muuttujien yhteydessä niin silloin lihavoi.

Jos noita nyt ei pysty tunnistamaan kontekstiin, niin jättäisin lihavoimatta:
index, name, read, write

Metabolix [10.01.2012 23:03:31]

#

User137 kirjoitti:

Jos noita nyt ei pysty tunnistamaan kontekstiin

Kunnon parseria en aio tehdä, mutta lisäsin nyt pari helppoa tarkistusta, jotka varmaan riittävät tämän sivuston tarpeisiin.

jalski [11.01.2012 12:05:40]

#

Metabolix kirjoitti:

Kunnon parseria en aio tehdä, mutta lisäsin nyt pari helppoa tarkistusta, jotka varmaan riittävät tämän sivuston tarpeisiin.

Itse en hirveästi lihavointeja tai muita hienouksia koodia lukiessa edes kaipaa, kunhan vaan teksti on edes sisennetty ja jäsennetty jotenkin järkevästi. Omaa silmää koodia lukiessa jotenkin miellyttää Modula-2 ja Oberon tyylinen tapa, jossa varatut sanat kirjoitetaan isolla.

Jos joku kaipaa lisähaastetta, niin voisi kirjoitella kooditagin PL/I-ohjelmointikielelle. PL/I:ssä kun ei varattuja sanoja ole...

Näyttää muuten suurin osa Pascal sukuisilla kielillä ohjelmoiva käyttävän puolipistettä C-tyylisesti lausekkeen lopettimena, kun Pascal sukuisilla kielillähän tuota yleensä käytetään lausekkeiden erottimena. Kuinkas muuten Delphi tai Lazarus toimii tässä suhteessa?

Metabolix [11.01.2012 16:27:53]

#

jalski kirjoitti:

Itse en hirveästi lihavointeja tai muita hienouksia koodia lukiessa edes kaipaa

Kyllä ne sinunkin rykäisysi vain tulivat sata kertaa ymmärrettävämmiksi, kun lisäsin niihin edes jonkinlaiset väritykset. Sopiva korostus ohjaa lukemaan koodista olennaiset osat eli auttaa sivuseikkojen ohittamisessa.

jalski kirjoitti:

Jos joku kaipaa lisähaastetta, niin voisi kirjoitella kooditagin PL/I-ohjelmointikielelle. PL/I:ssä kun ei varattuja sanoja ole...

Eikö nykyinen kooditagi (vaikka [koodipli]) silloin toimi ihan oikein ja toiveidesi mukaan? :)

jalski kirjoitti:

Näyttää muuten suurin osa Pascal sukuisilla kielillä ohjelmoiva käyttävän puolipistettä C-tyylisesti lausekkeen lopettimena, kun Pascal sukuisilla kielillähän tuota yleensä käytetään lausekkeiden erottimena. Kuinkas muuten Delphi tai Lazarus toimii tässä suhteessa?

Suunnilleen ainoa kohta, jossa puolipisteen voi järkevästi joko laittaa tai jättää laittamatta, on ennen end-sanaa. Teoriassa tuo tarpeeton puolipiste lisää ohjelmaan tyhjän lauseen. Käytännössä tyhjä lause on tietenkin tyhjä eli ei merkitse yhtään mitään. Tulkki saattaisi näistä hidastua, kääntäjä tuottaa varmaan molemmista täsmälleen saman. Minusta ylimääräinen puolipiste yhtenäistää koodin ulkoasua ja helpottaa muokkaamista (esim. koodirivien siirtelyä tai lisäämistä väleihin).

jalski [11.01.2012 17:24:08]

#

Metabolix kirjoitti:

jalski kirjoitti:

Jos joku kaipaa lisähaastetta, niin voisi kirjoitella kooditagin PL/I-ohjelmointikielelle. PL/I:ssä kun ei varattuja sanoja ole...

Eikö nykyinen kooditagi (vaikka [koodipli]) silloin toimi ihan oikein ja toiveidesi mukaan? :)

Meinasin, että jos haluaa toteuttaa korostuksen noille lausekkeille oikeisiin paikkoihin, niin jonkunlainen parseri voisi olla tarpeen.

esimerkiksi tämä on ihan sallittua (toki ei kovin fiksua tai luettavaa):

 start: proc options(main);
   dcl fixed fixed bin;
   dcl do fixed bin;
   dcl char char(12) init('Hello World!');

   do do = 1 to 10;
     put skip list(fixed, char);
	 fixed = fixed + 1;
	 if do = 5 then do;
	   put skip list('Halfway done...');
	   put skip list('Whoaa...');
	 end;
   end;
 end start;

Tuo puolipisteen käyttö Pascal sukuisissa kielissä on varmasti aika pitkälti makuasia. Tosin itselleni taidettiin aikoinaan joskus peruskoulun ohjelmointikurssilla opettaa puolipisteen käytön olevan pakollista joka lausekkeen jälkeen.

Itse siis en Pascalia ohjelmointiin käytä, mutta Modula-2, Oberon-2 ja Component Pascal ovat satunnaisessa käytössä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta