Serwisy partnerskie:
Close icon
Serwisy partnerskie

Sprytne porady i sztuczki cyklu Ekscytacje Maxa dotyczące kodowania (1)

Article Image
Zamierzam udostępnić do pobrania szkice (programy) Arduino, które będą towarzyszyć moim kilku następnym felietonom w tym cyklu, więc pomyślałem, że dobrym pomysłem może być uzasadnienie stylu kodowania, którego używam.

Pierwszą kwestią, na którą należy zwrócić uwagę, jest to, że używasz zintegrowanego środowiska programistycznego Arduino (IDE) do tworzenia szkiców przy użyciu języków programowania C/C++. C++ to zasadniczo C z rozszerzeniami (jak C na sterydach). C++ jest klasyfikowany jako język obiektowy (OPP), ale tak naprawdę nie musimy się martwić o to, co to oznacza w tym momencie. To, co uważamy za „język Arduino”, to zestaw wstępnie zdefiniowanych funkcji C/C++, które ktoś dla nas napisał i które można wywołać z naszego kodu.

Funkcja main()

Jedną z rzeczy, która denerwuje niektórych ludzi, jeśli znają już C/C++, jest to, że programy napisane w tych językach zawsze mają funkcję najwyższego poziomu o nazwie main(). W przypadku Arduino istnieją jednak dwie funkcje, które są domyślnie umieszczane w szkicu, setup() i loop(), ale nie ma funkcji main() (można również tworzyć własne funkcje, ale szkic musi zawierać funkcje setup() i loop()).

IDE dodaje również komentarz wewnątrz funkcji setup(), mówiąc: „Umieść tutaj swój kod konfiguracyjny, aby uruchomić go raz”. Podobnie, wewnątrz funkcji loop() znajduje się komentarz mówiący: „Umieść tutaj swój główny kod, aby uruchamiać go wielokrotnie” (użycie słowa „główny” jest niefortunne w tym kontekście).

Za kulisami, po kliknięciu ikony „Kompiluj”, IDE generuje plik tymczasowy, który zawiera cały kod wraz z funkcją main() wyglądającą jak poniżej:

main ()
{
  setup();
  while (1) loop();
}

Powoduje to wywołanie funkcji setup() jeden raz, a następnie wywołanie funkcji loop() w kółko i w kółko.

Litery i spacje

C/C++ to języki rozróżniające wielkość liter – na przykład zmienne o nazwach takich jak fred, Fred i FRED są traktowane przez kompilator jako zupełnie różne byty. C/C++ nie dba o to, czy używasz białych znaków, czy nie (gdzie białe znaki obejmują spacje, tabulatory i puste linie). Głównym powodem używania białych znaków jest zwiększenie czytelności kodu – są one usuwane podczas kompilacji kodu, więc nie sprawią, że ostateczny program załadowany do Arduino będzie większy.

A propos tabulatorów... nie używaj ich. Tak, oczywiście, że łatwiej jest nacisnąć klawisz <tab> jeden raz niż wielokrotnie klawisz <space>. Problem polega na tym, że nie wiesz, ile spacji inne systemy skojarzą z tabulatorem, co może na przykład sprawić, że twoje wydruki będą wyglądać dziwnie. Nie zapominajmy też o artykule z 2017 roku na stronie StackOverflow.blog: Developers Who Use Spaces Make More Money Than Those Who Use Tabs (https://bit.ly/37iB0eg).

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: Programowanie Arduino, C/C++
AUTOR
Źródło
Elektronika dla Wszystkich październik 2023
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
W tym numerze znajdziesz źródłową wersję artykułu publikowanego obok
Elektronika dla Wszystkich
październik 2023
Elektronika dla Wszystkich
Przejrzyj i kup
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"