π₯ bloc_lint
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ Π΄Π»Ρ bloc ΠΈ flutter_bloc.
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ bloc_lint. ΠΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π»ΠΈΠ½ΡΠ΅ΡΠ° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π»ΠΎΠΊΠ°.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π‘ΠΊΠ°ΠΆΡ Π»ΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ bloc_tools, ΠΌΡ Π΅Π³ΠΎ ΡΠΆΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ.
ΠΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠ»ΡΡΠΈΠΊΠΎΠΌ):
β avoid_build_context_extensions
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ BuildContext Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ Π±Π»ΠΎΠΊΡ, ΡΠ°ΠΊ ΠΈ ΠΊ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² read,
watch ΠΈ select ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ BlocProvider.of ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° flutter_bloc.
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
β avoid_flutter_imports β
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π€Π»Π°ΡΡΠ΅ΡΠ° Π² Π±Π»ΠΎΠΊΠ°Ρ ΠΈ ΠΊΡΠ±ΠΈΡΠ°Ρ . ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π±ΠΈΠ·Π½Π΅Ρ-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ - Π±Π΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΡ.
β avoid_public_bloc_methods β
ΠΠ·Π±Π΅ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² Π±Π»ΠΎΠΊΠ°Ρ . Π’ΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠ°Ρ , ΠΊ ΠΊΡΠ±ΠΈΡΠ°ΠΌ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΡ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ, ΡΠΎΡΡΠ°ΡΠΈΠ΅ Π½Π°ΡΡΠΆΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
β avoid_public_fields β
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π² Π±Π»ΠΎΠΊΠ°Ρ ΠΈ ΠΊΡΠ±ΠΈΡΠ°Ρ . ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Ρ Π²ΡΡΠ΅ - Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΠΌΡ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ, ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΡΡ.
β prefer_bloc
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠ±ΠΈΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΈ. ΠΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΊΡΠ±ΠΈΡΠΎΠ² Π½Π΅ ΡΡΠΎΠΈΡ, ΠΎΠ½ΠΈ ΠΏΠΎΡΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΎΠ², ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎ ΡΠ°ΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈ Π±Π΅Π½Π΅ΡΠΈΡΡ Π±Π»ΠΎΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
β prefer_build_context_extensions
ΠΠ·Π±Π΅Π³Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π»ΠΎΠΊΠΎΠΌ Π²ΡΠ΅ΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π½Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ BuildContext. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ
context.read, context.watch, ΠΈ context.select. BlocProvider.of, RepositoryProvider.of, BlocBuilder ΠΈΠ»ΠΈ
BlocSelector Π½Π΅Π»ΡΠ·Ρ. ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΅ΡΡΡ.
ΠΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ ΡΡΡ.
β prefer_cubit
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠ±ΠΈΡΡ. ΠΠΈΠ΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π½Π° ΠΊΡΠ±ΠΈΡΠ°Ρ , ΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΡΠ°ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Ρ. Π’Π°ΠΊ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π±ΡΡΡ, ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎ ΡΠ°ΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈ Π±Π΅Π½Π΅ΡΠΈΡΡ ΠΊΡΠ±ΠΈΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
β prefer_file_naming_conventions β
Π Π°Π·ΠΌΠ΅ΡΠ°ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΊΡΠ±ΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π½Π΅ΠΉΠΌΠΈΠ½Π³ΠΎΠΌ. ΠΠ΅Π»ΡΠ·Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ CounterBloc Π² ΡΠ°ΠΉΠ»Π΅
main.dart, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² counter_bloc.dart.
ΠΠΎΠ»ΡΡΠ΅ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅ ΡΡΡ.
β prefer_void_public_cubit_methods β
ΠΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ
Π½Π΅ void-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΊΡΠ±ΠΈΡΠ°Ρ
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΊΡΠ±ΠΈΡΠ° ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π»ΡΠ±ΡΠ΅
ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π½Π΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠ±Ρ
ΠΎΠ΄ ΡΡΠ΅ΠΉΡΠ°.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.