Kodérsky přívětivá syntaxe funkcí a metod tříd

Automaticky přeloženo z Deepl

Používání proměnných $1, $2 a $n v kódu nejen zhoršuje jeho čitelnost, ale může také zvyšovat zmatek, protože pro lidský mozek může být obtížné zapamatovat si, čemu tyto proměnné odpovídají. Řešením je vytvořit proměnnou se srozumitelným názvem a přiřadit jí hodnotu $1, $2 nebo $n.

4D v18 R5 má dobrou zprávu, nyní můžete při deklaraci pojmenovávat parametry:

  • metody projektu,
  • spouštěče
  • databázové metody
  • metody formuláře
  • konstruktoru třídy
  • funkce třídy.

Podívejme se, jak na to!

Ve verzi 4D v18 R4 jsme vám ukázali novou syntaxi pro deklaraci proměnných:

var $name : Text
var $birthdate : Date
var $file : 4D.File

Nová syntaxe pro metody a funkce je velmi podobná.

Nová deklarace pro třídy

Za název funkce přidejte své různé vstupní parametry oddělené středníkem v závorce:

Class Constructor($firstname: Text; $lastname: Text; $birthdate: Date)
This .lastName:=$lastname
This .firstName:=$firstname
This .birthdate:=$birthdate

Function setAdress ($streetNumber: Text; $streetName : Text; $city : Text)
This .streetNumber:=$streetNumber
This .streetName:=$streetName

This .city:=$city

Pro výstupní parametr stačí přidat symbol „->“ a poté název a typ jako u vstupního parametru.

Function getFullname -> $fullname: Text
$fullname :=This.firstName+""+Upper(This.lastName)

Function sendMessage ($text: Text) -> $message: Text
$message :="@"+This.firstname+": "+$text

Nová deklarace pro metody

Stejný princip platí i pro metody s novým klíčovým slovem: #DECLARE.

  • Příklad s metodou projektu „highlightRow“:

#DECLARE($listboxName: Text; $rowNum: Integer)
LISTBOX SELECT ROW (*; $listboxName; $rowNum)

  • Příklad s funkcí On Web Authentication databázovou metodou:

#DECLARE($url: Text; $header: Text; \
$BrowserIP : Text; $ServerIP: Text; \
$user : Text; $password: Text) \
->$RequestAccepted: Boolean

$entitySelection :=ds.User.query("login=:1"; $user)
// Check hash password...
// ...

Ladicí program

Název parametru je viditelný také v podokně řetězce volání ladicího programu. Zde je příklad s funkcí třídy:

Bonus

Pokud potřebujete další důvod, proč používat novou syntaxi, podívejte se na obrázek níže. Ano! Deklarace funkce se zobrazuje ve stavovém řádku přesně tak, jak je tomu u příkazů 4D.

blank

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.