EPIC4 Manual


Bazgroły, czyli jak pisać nie należy

Bardzo ważną sprawą jest odpowiedni zapis kodu w skrypcie. Jeżli jest w tym jakiś porządek, od razu można znaleźć czego się szuka i mieć problem z głowy. Dlatego dobrze jest stosować TABy oraz spacje na początku linii mniej więcej w taki sposób:


alias blah {
   unless ([$2]) {
      echo *** Gdzie jest trzeci arg?
      return
   }
   if (match($0 + -)) {
      echo *** Costam.
   }{
      echo *** Etam.
   }
}



alias blah
{
   unless ([$2])
   {
      echo *** Gdzie jest trzeci arg?
      return
   }
   if (match($0 + -))
   {
      echo *** Costam.
   }
   {
      echo *** Etam.
   }
}


Drugi zapis jest troche dłuższy i może mniej czytelny, ale niektórzy tak lubią...

Natomiast całkowicie nieczytelne są takie bazgroluchy, na rozkodowanie których poświęcić trzeba więcej czasu niż to warte. Dla przykładu pare 'stylów' pisania, które widziałem :)


Na pijaka

alias blah {      if ([$0]) {
if match($0 ON OFF)) {


    echo *** Costam.   }
  }



Na tajniaka (za nic nie można zgadnąc co do czego...)

alias blah {
if ([$0]) {
if (rmatch($0 *!*@*.be *!*@*.jp *!*@*.dk *!*@*.pl)) {
@ :host = after(@ $0)
if (pass(1234567890 $host)) {
@ :dialup = 1
}
}{
echo *** Etam.
}
}



Na rolnika (na dole grządki sadzi)

alias blah {
   unless ([$1]) {
       echo *** Costam.
       return
    }
    if (index(. $0) >= 2) {

    [zarabane tu na maxa]

}}}}
}}}}


Niby każdy sobie powinien móc pisać jak mu się podoba i nikogo to nie powinno obchodzić, jednak często bałagan w zapisie po prostu powoduje powstawanie bugów. Najczęściej sptykanym jest TAB na końcu linii z '{' czy '}'. Przez to cały alias/ON/../ może nie działać.


Dobrze jest używać unless zamiast if, gdy potrzebujemy zaprzeczenia, gdy nie są spełnione jakieś warunki, zatrzymywać aliasa uzywając return, stosować zewnętrzne funkcje zamiast po kilkanaście razy powtarzać to samo w jednym aliasie.
Proste warunki można zastąpić alternatywą (zobacz zasady składni)
Wewnątrz aliasów (i nie tylko) dobrym rozwiązaniem są zmienne lokalne, gdyż znikają razem z zakończeniem aliasa i nie trzeba ich ręcznie wywalać, co znacznie oszczędza miejsce.
Zamiast while czy fe lepszy często jest for.



Wstęp Home Następny Paragraf