Mēs paši neapzinoties dodam cilvēkam cerību un pēc tam viņu brutāli salaužam.
/E. Veilande/

Interesanti palasīt:

Oņeģins tiešsaitē
Kurš mūsdienās lieto CRT moņus?
Wii alternatīva sievietēm - Shii
Kāds vīrietis, tāda sieviete
Haosa teorija - filmu laime
1. sept. netirgos alko
Kā rīkoties ar Neo datiem?
Lauku šķūnings

Koda saīsināšana

Ievietoja koko Ceturtdien, 2008.gada 10. aprīlī, 17:57:43

Es jau diezgan ilgi programmēju (kodēju jau noteikti jāsaka) PHP programmēšanas valodā, kuru noteikti visi zina un visi māk - sintakse salikta kopā no kaut kādiem perliem, c, un vēlnezkautkā utt... Lab, lab - vēsturi zinu, bet nav par to.

Programmēšanas procesu vienmēr girbēs nedaudz saīsināt ne tikai nekomentējot kodu, bet arī maksimāli saīsinot, kas nav pareizākais variants, jo parseris vienalga to kodu interpretē sākumā pa savam, bet koda lasāmība tikai pasliktinās, toties man tāda kaite ir un tur es neko nepadarīšu. Tāpēc padalīšos ar 2 lietām, kas varbūt jauniņajiem nav zināmas.

1) if, esle, esleif saīsināšana. if ($nigga==='white') {
  echo 'that is not nigga!';
} elseif ($nigga==='yellow') {
  echo 'That is indian';
} else {
  echo 'It is nigga!';}
Pirmais saīsināšanas veids ir tāds: ja if vai elseif, vai else blokos ir tikai viena darbība, tad figūriekavas "{", "}" bloku atvēršanai un azivēršanai nav nepieciešamas:if ($nigga==='white')
  echo 'that is not nigga!';
elseif ($nigga==='yellow')
  echo 'That is indian';
else
  echo 'It is nigga!';
Un tagad mans mīļākais pieraksts:echo $nigga==='white' ? 'that is not nigga!' : ($nigga==='yellow' ? 'That is indian' : 'It is nigga!');

2) Jūsu priekam piedāvāju arī kaut ko tādu, ko atklāju tikai šodien: $j = 1;
for ($i = 0; $i<=10; $i += $j) {
  $j++;
  print $j;
}
Var mierīgi saīsināt uz:for ($i = 0, $j = 1; $i <= 10; $i +=$j, print ++$j);Par ++ operatora pirmsinkrementēšanos un pēcinkrementēšanos es jau sen zināju, bet par for cikla saīsināšanu nebiju nojautis. Tā ir, ka tādām itkā pašsaprotamām struktūrām specifikāciju nekad neviens nelasa :D

Ceru, ka jūs saīsinājumus nelietosiet un rakstīsiet ļoti labu dokumentāciju.


Pievienot komentāru


Ievadi burtu Z, lai apstiprinātu komentāru:
Komentāra teksts (obligāti):


1. komentēja mobix, vietne
      10.04.2008 @ 20:04:37

Hehe, par to for saīsināšanu nebiju ieskatījies :D

Bet vispār man nav tāda slimība kā Tev :P


2. komentēja Anonīms
      10.04.2008 @ 20:05:36

Dīvaini, ka tu to sauc par "saīsināšanu".

Parasti jau vairums coding-gaidlainos ir teikts, ka nedrīkst izlaist figūriekavas if/for/while konstrukcijām arī ja pat tajos ir tikai viena rindiņa. Jo vēlāk kāds aizmirsīs tās pielikt, bet pierakstīts otro rindiņu, tādējādi radot bugu.

2) punktā $j=1 un $j++ ienešana tā for iekavās ir ļoti normāla padarīšana. C valodā tā bieži vien raksta.

Protams gan to print konstrukciju likt iekš iekavām gan ir slimīgi.


3. komentēja iivs, vietne
      10.04.2008 @ 23:19:35

tas peedeejais man patika, nebiju iedomaajies for ciklaa iekavaas iebaazt print. Anonīms, nav taisniiba, ka nedriixt. Driixt visu ko. Tik un taa, ja viena rindinja, tad iekavas ir labaak likt, un turklaat oficiaali pareizi skaitas iekavu likt apaxhaa nevis blakaam.


4. komentēja extropy
      11.04.2008 @ 11:54:12

Nu es negribu būt tas kuram šādā saīsinātā kodā pēc tam būtu jāmeklē kļūdas.

Bet nu katrs pats savas bedres racējs.


5. komentēja KAC, vietne
      11.04.2008 @ 12:39:34

Tavu pēdējo prieku var nosīsināt uz

for ($i = 2; $i <= 6; $i++) print $i;

kas ir uzskatāmāks


6. komentēja Mārcis Balodis, vietne
      12.04.2008 @ 11:47:08

Nu par otro punktu - neesi kārtīgi lasījis manuāli, ja tikai tagad atklāj :)

Es atkal noskatījos no wordpress dzinēja un pārgāju uz:

if (bla = 1):

else :

endif;


7. komentēja koko, vietne
      12.04.2008 @ 21:48:08

Man jau tas ar endif galā kaut kā nepatīk, jo lielākā daļa php kodē standartvariantā un, ja parādās vairākas notācijas, tad paliek nelasāmi.

Vēl man visiem jāatgādina viena rinda no mana teksta: "bet koda lasāmība tikai pasliktinās". Laikam bija jāieliek tas viss boldā :)


8. komentēja Roberts
      13.04.2008 @ 23:07:55

Labrīt :) principā var jau tā saīsināt, bet diezgan nederīgi tas ir (vismaz tavā piemērā).

Izmantojot for ciklu var diezgan eleganti iterēt pār kolekciju (gan jau ka pē-hā-pē tādas ir :))

for (Iterator iter = myList.iterator(); iter.hasNext();) { System.out.println(iter.next());

}


9. komentēja koko, vietne
      14.04.2008 @ 13:01:58

Mēs runājam dažādās valodās :D Es runāju PHP, bet, kā izskatās, tad Tu runā Javā :D


10. komentēja Roberts
      14.04.2008 @ 15:16:52

apķērīgs gan tu esi :D


11. komentēja koko, vietne
      14.04.2008 @ 15:47:59

Nu, tas, ka Java nekodēju, nenozīmē, ka neesmu nemaz jamo pētījis ;)

Lizete
Elīza
Zete

Esi brīvs savos uzskatos
1. Pašnāvības... (49)
2. Shrek 2 the movie (6)
3. Fiksās patiesības par čatošanu (2)
4. Ububu būt vai ububu nebūt? (9)
5. Latvijas Neatkarības diena (8)
© koko 2003.-2010.
Ieraksti: 1107 , komentāri: 6425