Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mega-Refactor (aka A head start for newcomers to contribute) #142

Open
3 of 4 tasks
w568w opened this issue Feb 21, 2022 · 2 comments
Open
3 of 4 tasks

Mega-Refactor (aka A head start for newcomers to contribute) #142

w568w opened this issue Feb 21, 2022 · 2 comments
Labels
compliance to comply with regulations and requirements documentation Improvements or additions to documentation

Comments

@w568w
Copy link
Member

w568w commented Feb 21, 2022

Soon or later it will be necessary to expect for some newcomers to contribute to the project.

However, we have not done enough work to meet the community standard. I suppose it is time to make a to-do list for it.

No need to accomplish these at once, but at least rethink them when pushing new commits.

p.s. feel free to add new items or edit them ✍️

Code Principle

  • Clean nested hell in the layouts
  • Write comments for complex codes (especially those in build(), initState() and repositories)

Contributing Guide

@w568w w568w added compliance to comply with regulations and requirements documentation Improvements or additions to documentation low priority This will be considered later labels Feb 21, 2022
@w568w w568w changed the title A head start for newcomers to contribute Mega-Refactor aka A head start for newcomers to contribute Mar 12, 2024
@w568w
Copy link
Member Author

w568w commented Mar 12, 2024

I think the code base is growing to a point where it's hard to maintain and a major overhaul (i.e. Mega-Refactor) is necessary. #334 is an example.

Until Mar 12 2024, we have ~34K LoC, which requires 100~300 hours to refactor. It's hard to say what needs to be refactored, but the general direction is as follows:

  1. better state management (switching to a modern state management library like GetX or Riverpod, which one will be decided soon);
  2. clean up unnecessary nullable types (?) (and non-null assertions, !).

We invite all maintainers (and you) to participate in the refactoring, to use a more modern code style when contributing new code, and to migrate old code over time.

Edit (2024-04-01): We have decided Riverpod as our new state management library.

@w568w w568w removed the low priority This will be considered later label Mar 12, 2024
@w568w w568w pinned this issue Mar 12, 2024
@w568w w568w changed the title Mega-Refactor aka A head start for newcomers to contribute Mega-Refactor (aka A head start for newcomers to contribute) Mar 12, 2024
@w568w
Copy link
Member Author

w568w commented Apr 1, 2024

Riverpod has been chosen as our new state management library.

@KYLN24 KYLN24 unpinned this issue Oct 9, 2024
@KYLN24 KYLN24 pinned this issue Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compliance to comply with regulations and requirements documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant