Strona główna » 4. Dlaczego deklarowanie symboli jako globalnych nie jest zwykle dobrą praktyką?
4. Dlaczego deklarowanie symboli jako globalnych nie jest zwykle dobrą praktyką?
Jeśli w PG5 1.3 w edytorze symboli
zaznaczymy opcję "Add symbols to global table", pojawi się komunikat
mówiący, że jest to niezbyt dobra praktyka.. Poniżej znajdują się wyjaśnienia
niektórych powodów:
- Podczas eksportu stron Fupli lub
podczas dodawania plików (pliki Fupla, IL lub Graftec) z innego
projektu lub CPU zmienne globalne użyte w tych plikach nie zostaną
zaimportowane do CPU.
- Program staje się mniej modułowy
- Symbole globalne są dostępne we
wszystkich modułach. W wielu aplikacjach nie ma to sensu. Z drugiej strony
może to być niebezpieczne (np. w przypadku dodania modułu, który zawiera
zdefiniowane symbole)
- Drag & Drop w strukturze
symboli nie działa dla symboli globalnych
- Po zmianie nawet jednego symbolu
globalnego, wszystkie moduły muszą być ponownie skompilowane a to zabiera
znacznie więcej czasu.
Jest
jeden przypadek, gdy definiowanie symboli globalny ma sens. Ma to miejsce w
przypadku, gdy symbol musi być dostępny w kilku modułach (np. Fupla i HMI
Editor). Jeśli nie ma takiej potrzeby zaleca się nie definiowanie symboli jako
globalnych (lub publicznych, co znaczy to samo)!
do góry