fbpx
goodfirms LOGO Created with Sketch.







    Flutter — najlepsze praktyki i wskazówki

    01
    listopad
    2022
    Karol Dobrakowski
    7 minut czytania
    Udostępnij

    Flutter Developer poszukiwany!

    Zobacz ofertę pracy na Flutter Developera i aplikuj do naszej firmy już teraz! Pracuj gdzie chcesz i kiedy chcesz!

    Zobacz ofertę
     

    Podobnie jak w przypadku innych języków programowania, na początku przygody z Flutterem warto poświecić chwilę na zapoznanie się z obowiązującymi w środowisku developerów konwencjami i praktykami. Zdecydowanie nie należy z tym zwlekać, ponieważ wiedza ta przydaje się nawet na najwcześniejszych etapach nauki. Opisane przez nas poniżej wskazówki i praktyki ułatwią przede wszystkim kwestie odczytywania oraz tworzenia zoptymalizowanego kodu. W jaki sposób nazywa się zmienne, klasy i biblioteki we Flutterze? Dlaczego zamiast używać „var” lepiej doprecyzować typ znanych zmiennych? Jak przy pomocy interpolacji zwiększyć czytelność zapisu dłuższych stringów? Na wszystkie te i wiele innych pytań postaramy się odpowiedzieć w poniższym poradniku.

    Flutter dobre praktyki – konwencja nazewnictwa Flutter

    Dzięki ujednoliconemu w globalnej skali nazewnictwu programiści są w stanie łatwiej i szybciej zrozumieć, jaką funkcję pełni dany fragment kodu. W języku takim jak Flutter, dobre praktyki nakazują, w jaki sposób zapisać należy nazwy klas, enumów, typedefów, pakietów, plików źródłowych, zmiennych, stałych i parametrów. Nieznajomość lub nieposzanowanie przyjętej konwencji zmniejsza czytelność kodu, co wprowadza niepotrzebne zamieszenia i przyczynia się do powstania większej liczby błędów. Pomimo iż na wczesnym etapie nauki zasady te mogą wydawać się niepotrzebne, to zdecydowanie lepiej od razu wyrobić sobie dobre praktyki. Warto zaznaczyć też, iż odczuwalnie ułatwia to także niezwykle istotną kwestię, jaką jest odczytywanie dokumentacji technicznej. W przypadku klas, enumów, typedefów i nazw rozszerzeń wykorzystuje się zapis UpperCamelCase. Zawsze zaczyna się on od wielkiej litery, którą następnie wykorzystuje się, aby zasygnalizować początek kolejnego słowa w nazwie. Przeznaczona dla nazw zmiennych, stałych i parametrów notacja lowerCamelCase różni się jedynie wielkością pierwszego znaku. Trzecim sposobem zapisu ciągów tekstowych, jaki warto zapamiętać, jest snake_case, który odstępy pomiędzy słowami rozpoczętymi małą literą oddziela przy pomocy zwanego potocznie „podłogą” znaku podkreślania: „_”. Notacja snake_case wykorzystywana jest głównie przy zapisywaniu nazw bibliotek, pakietów, plików źródłowych i katalogów.

    Flutter wskazówki – dlaczego wewnątrz klasy warto doprecyzować typ znanych zmiennych?

    Na wczesnych etapach nauki Flutter, wskazówki nie bez przyczyny skupiają się wokół nazewnictwa oraz sposobu zapisu kodu. Bardzo często zdarza się, iż początkujący programiści niemalże wszystkie zmienne definiują przy pomocy typu „var”. Przy niezbyt skomplikowanym kodzie zabieg ten ogranicza liczbę błędów związanych z niespójnością typów zmiennych, ale w praktyce przy bardziej złożonych lub komercyjnych projektach nie można tak robić. Jeśli da się określić, jaki typ zmiennej będzie docelowo potrzebny (np. float, double, string itp.), zdecydowanie lepiej go zdefiniować. Warto wspomnieć tu też, iż wszystkie inicjowane we Flutterze zmienne mają domyślnie wartość null, więc zamiast zapisu „var a = null;” wystarczy jedynie „var a;”.

    Flutter wskazówki – jak uniknąć zamieszania przy importowaniu bibliotek?

    Przy nawet niezbyt skomplikowanych projektach czasami trzeba zaimportować tę samą klasę w kilku miejscach. Lepiej nie robić tego na kilka sposobów w ramach jednego projektu, ponieważ generuje to jedynie niepotrzebne zamieszanie i zmniejsza czytelność kodu. Wiele osób nie zdaje sobie sprawy, iż przy względnych importach do biblioteki nie trzeba podawać pełnej ścieżki pliku źródłowego.

    Flutter dobre praktyki – jak uprościć składnie języka Flutter?

    W naszym poradniku nie uda nam się z pewnością omówić nawet połowy sposobów, w jakie można krócej zapisać ten sam fragment kodu, niemniej jednak przy pomocy prostych przykładów postaramy się zobrazować, jak bardzo ułatwia to pracę. Jedną z najczęściej stosowanych metod optymalizacji czytelności kodu jest interpolacja złożonych z wielu elementów stringów.

    String name = 'Jan';

    Int age = 35;

    var greeting = 'Hi ' + name + '! You are ' + age + ' years old.';

    var greeting2 = 'Hi $name! You are $age years old.';

    Po wywołaniu zmiennej greeting i greeting2 otrzymamy dokładnie ten sam komunikat („Hi Jan! You are 35 years old”.). Jak łatwo można zauważyć, zapis jest dużo prostszy i mniej skomplikowany przy greeting2.  Podobnie wygląda to w scenariuszu takim jak będące częścią siebie kolekcje. W teorii następujący zapis jest oczywiście poprawny:

    var a = [1,2,3,4];

    var b = [5,6];

    b.addAll(a);

    Ale w praktyce zdecydowanie łatwiej zapisać to można tak:

    var a = [1,2,3,4];

    var b = [5,6,…a];

    Na koniec chcielibyśmy przypomnieć, iż sekwencyjne operacje na tym samym obiekcie także da się skrócić tak, aby nie trzeba było powtarzać tego samego kodu. Warto pamiętać też, iż do podniesienia czytelności wyrażeń warunkowych we Flutterze potrzebne mogą być również operatory takie jak „??” i „?.”

    Flutter wskazówki – podsumowanie

    Niezależnie od stopnia znajomości języka zdecydowanie dobrze oswoić się ze skróconymi wariantami zapisu kodu, ponieważ to właśnie z nich korzysta większość doświadczonych programistów. Dużo istotniejsza jest jednak kwestia zgodności kodu z przyjętymi w środowisku developerów konwencjami, ponieważ to właśnie dzięki niej łatwo zrozumieć można rolę dowolnego fragmentu kodu.

    Jak możemy Ci pomóc?
    Porozmawiaj z nami!







      Łukasz Świtek
      Customer Success Manager
      Kliknij, aby podejrzeć
      Wiktor Sobczyk
      Co-Founder, Key Account Manager
      Kliknij, aby podejrzeć