clean_code_lints 0.3.0
clean_code_lints: ^0.3.0 copied to clipboard
Opinionated lint rules for clean architecture and clean code in Dart and Flutter projects.
example/lib/main.dart
import 'package:flutter/material.dart';
void main() => runApp(const ExampleApp());
// Exercises: hardcoded_color, hardcoded_spacing, hardcoded_endpoint,
// widget_level_try_catch, widget_build_method, build_method_too_long,
// single_letter_parameter, hungarian_notation, avoid_dynamic,
// too_many_function_arguments.
class ExampleApp extends StatelessWidget {
const ExampleApp({super.key});
static const apiUrl = 'https://api.example.com/v1/things';
@override
Widget build(BuildContext context) {
try {
return Scaffold(
backgroundColor: const Color(0xFFEEEEEE),
appBar: AppBar(backgroundColor: Colors.blue),
body: Padding(
padding: const EdgeInsets.all(16),
child: _buildBody(context),
),
);
} catch (_) {
return const SizedBox.shrink();
}
}
Widget _buildBody(BuildContext context) {
return Column(children: [const SizedBox(height: 8), const Text('hello')]);
}
}
void noisy(int a) {
dynamic x = a;
final strName = 'bob';
print('hungarian: $strName, dynamic: $x, api: ${ExampleApp.apiUrl}');
}
void manyArgs(int a, int b, int c, int d, int e, int f) {}