Flutter — Moje Praktyki
Poczytaj coś więcej o Flutterze
Flutter to moje mobilne zbawienie. Dlatego popełniłem kilka artykułów o tej technologii.
Sprawdź link obok 👉
Nowy ekran w aplikacji
Nowy ekran zawsze nazywam, używając przyrostka
Page
.
class RocketGeneralInfoPage extends StatefulWidget {
// Code
}
// File name
rocket_general_info_page.dart
Nazewnictwo plików
Nadając nazwy plikom, korzystam z konwencji Snake Case. Co jest rekomendowanym sposobem.
rocket_general_info_page.dart
post_detail.dart
Pola klas
Sama nazwa pole w programowaniu obiektowym oznacza zmienną/stałą prywatną.
W języku Dart nie ma słowa kluczowego, które ustawia zmienną jako prywatną. W zamian należy skorzystać z konwencji. W takim przypadku musisz użyć znaku podkreślenia
_
.Gdzie tylko to możliwe zmienne na poziomie klasy oznaczam jako prywatne.
class UserProfileCubit extends CubitBase {
final UserRepository _userRepository;
}
Zależności klasy
Zależności klasy, które trafiają do niej poprzez konstruktor zawsze staram się oznaczać jako final
oraz jako prywatne.
class UserProfileCubit extends CubitBase {
final UserRepository _userRepository;
}
Metody zwracające widżet
Metody, które zwracają typ
Widget
, nazywam, rozpoczynając nazwę od _build
.
Widget _buildTitle() {
return const Text("Programistą Być!");
}
Tworzę nowe widżety na potęgę!
Tworzę nowe klasy widżetów gdzie tylko to możliwe. Dzięki temu pomagam Flutterowi w optymalizacji.
// Ugly
Widget _buildPieceOfUI() {
// Many lines of code
}
// ---> Recommended
class PieceOfUIWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Many lines of code
}
}