Skip to content

Genel #1

@VB10

Description

@VB10

Gördüğüm noktları buraya bırakıyorum şimdiden eline emeğine sağlık.

class ExpenseFilterWidget extends StatelessWidget {
  const ExpenseFilterWidget({super.key});

  @override
  Widget build(BuildContext context) {
    const categories = Category.values;

    final activeFilter = context.select(
      (ExpenseListBloc bloc) => bloc.state.filter,
    );

Burada widget isminden olayın ne olduğu anlaşılmıyor ve içeride aslında bir chip var buna uygun anlamdırmla olmalı ve daha atomic parçalarsak daha iyio labilir
space değerleri vs genel olarak daha sabit alınmalı tüm projede



  double _calculateTotalExpenses(
    List<Expense?> expenses,
    CurrencyUpdateState currencyState,
  ) {
    var total = 0.0;
    for (final expense in expenses) {
      if (expense == null) continue;

      if (currencyState is CurrencyUpdated) {
        if (expense.currency == currencyState.currency) {
          total += expense.amount;
        } else if (expense.currency == currencyState.previousCurrency) {
          total += expense.amount * currencyState.conversionRate;
        } else {
          // For other currencies, use the base conversion rate
          total += expense.amount * currencyState.conversionRate;
        }
      } else {
        total += expense
            .amount; // Fallback to original amount if no conversion available
      }
    }
    return total;
  }

bloc katmanını yazmışken böyle bir kodu widget seviyesine indirgiememk lazım işlemi ayırmak lazım

  1. Localization eksik
  2. Modellerde serizalbe lazım ve equtable ile bağlamak lazım (expense model)
  3. state doyalarında ExpenseFormState düzeltmeler yapmak gerekiyor methodda force kullanımları düzeltilemli ve iç modellerde equatable eklemek laızm
  4. home page dosyasında iç içe kodlar parçalanmalı logicler çıkartılmalı ve mixin gibi kısımlar eklenmeli
  5. login screen çok iç içe karışmış
  6. gradient kısmı custom olarak yapılabilir decoraitondan türeterek
  7. theme kullanımları düşük
  8. shared prefercnes daha ortak katman olup onune mısal senin projene ozel bir katman eklemek gerekir
  9. ap pconstatn ve style constat ıyelstırlerlbır
  10. date time helper bir sınıfa bağlanabilir
  11. netowrk kısmı ıyıelstırleımelı
  12. textformfeld widget diye isimlendirme biraz farklı olmus daha iyi hale getireiblir
  13. ve tabiki bir test gerekir clean arch yaklaşımı servis locaotler geliyorsa test muhakkak lazım

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions