Strona główna » 10. Dlaczego deklarowanie symboli jako globalnych nie zawsze jest dobrą praktyką?
10. Dlaczego deklarowanie symboli jako globalnych nie zawsze jest dobrą praktyką?
Jeśli w PG5 1.3 w edytorze symboli
zaznaczymy opcję ”Add symbols to globar table”, to 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ą zaimplementowane 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 jednak przypadek, gdy
definiowanie symboli globalnych ma sens. Ma to miejsce, gdy symbol musi być
dostępny w kilku modułach (np. Fupla i HMI Editor). Jeśli nie ma takiej
potrzeby, to zaleca się nie definiować symboli jako globalnych (lub
publicznych, co znaczy to samo)!
do góry