Skocz do zawartości

Czy to wgląda poprawnie czyt. estetycznie


feeleek

Pomocna odpowiedź

Właśnie zacząłem kurs arduino. Moja płytka jeszcze nie dotarła wiec postanowiłem zacząć pisać w Wokwi.

Dochodząc do zadania ze światłami postanowiłem sam to napisać i po paru minutach wyszło mi coś takiego.

Ku mojemu zdziwieniu okazuje się że to działa, na koniec postanowiłem sprawdzić czy autor poradnika napisał tak samo i wyszło że troszkę się różni.

Ponieważ chcę nabrać dobrych nawyków w pisaniu kodu chciałbym aby ktoś obeznany w temacie powiedział czy to jest poprawnie ( czytelnie ) napisane, co robić ewentualnie czego nie robić. 

 

void setup() {
 pinMode(1, OUTPUT); // wyjscie dioda czerwona 
 pinMode(3, OUTPUT); // wyjscie dioda pmaranczowa
 pinMode(4, OUTPUT); // wyjscie dioda zielona 

 pinMode(2, INPUT_PULLUP); // wejscie przycisk

 digitalWrite(1, LOW); // wylaczenie diod
 digitalWrite(3, LOW);
 digitalWrite(4, LOW);
}
void loop() 
{ 
 digitalWrite(1, HIGH);
 delay(5000);

 digitalWrite(3, HIGH);
 delay(2000);
 digitalWrite(1, LOW);
 digitalWrite(3, LOW);

 digitalWrite(4, HIGH);
 delay(5000);
 digitalWrite(4, LOW);
 digitalWrite(3, HIGH);
 delay(2000);
 digitalWrite(3, LOW);

}

 

Link do komentarza
Share on other sites

@feeleek witam na forum! W tak prostych programach nie ma wielkiego pola do manewrów, więc nic tu wielce nie ulepszymy 😉 Można się jedynie przyczepić do estetyki, bo w trochę losowych miejscach masz puste linie - nie wiem jaki mają sens. Do tego linie z początku i końca pętli można by było zapisać jedna po drugą, bo i tak w praktyce wykonują się zaraz po sobie (bo pętla rozpoczyna działanie od początku).

  • Lubię! 1
Link do komentarza
Share on other sites

No estetycznie to nie do końca wygląda, przy czym nie chodzi o wrażenia plastyczne a o praktyki przy tworzeniu kodu programu, które umożliwią Tobie czytanie i analizowanie kodu teraz i w przyszłości podczas kolejnych zmian, poprawiania błędów, wykorzystania tego kodu w innym projekcie itp.:

1. Organizacja tekstu programu jest wyrazem szacunku dla naszego mózgu i wzroku podczas analizy programu.
a) Puste linie umieszczamy w odpowiednich miejscach (np. zawsze po nawiasie klamrowym zamykającym blok funkcji) a nie dajemy ich w miejscach przypadkowych,
b) Wcięcie tekstu dla każdego zagnieżdżonego bloku instrukcji musi być odpowiednio głębokie - jedna spacja to absolutnie za mało - wcięcia na cztery spacje są powszechnie uważane za rozsądny kompromis.

2. Używanie stałych symbolicznych, makrodefinicji itp. (różnie się to w różnych językach programowania nazywa) zamiast literałów liczbowych jest niezbędne w każdym większym projekcie. Po pierwsze, jeśli wpiszesz z palca "5000" sto razy w programie, to jeśli będziesz chciał dla celów testowych zmienić tę wartość na 4000, musisz poprawić sto miejsc. Po drugie, za rok nie będziesz pamiętał, co dokładnie oznaczała wartość "5000". Oba problemy znikną, jeśli zdefiniujesz na początku pliku stałą DELAY_AFTER_WRITE (czy inną lepszą nazwę) i użyjesz jej dalej w programie... 

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

"Uczciwe" IDE (np vscode/platformio) pozwala podłączyć dowolny formatter kodu, który będzie na bieżąco dbał o zachowanie ulubionego standardu formatowania.

Grunt to zdecydować się który ze standardów jest dla nas najczytelniejszy. Bo dla kompilatora nie ma to żadnego znaczenia

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.