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

Basic Codebase Optimization and Review #36

Open
5 tasks
BenCheung0422 opened this issue Dec 23, 2024 · 0 comments
Open
5 tasks

Basic Codebase Optimization and Review #36

BenCheung0422 opened this issue Dec 23, 2024 · 0 comments

Comments

@BenCheung0422
Copy link
Member

BenCheung0422 commented Dec 23, 2024

Original: MinicraftPlus/minicraft-plus-revived#511, MinicraftPlus/minicraft-plus-revived#580

Background

As being a part of game engine rewrite, this should also be included. Many behaviours like instancing and member access controls, impact the structure of the game engine a lot. This should be done at first in a game engine rewrite.

Details

Besides, many game engine-related structures (like getters and setters) should also be standardized to optimize the game engine and reduce maintenance cost. Purpose reorganization (reorganizing structures according to their purposes) is required. Nearly all classes should be able to be instanced to have controls easier.

For various reasons, the code quality should be improved, including formats, coding practices and error handlings. This includes making good use of standard libraries like Google Guava, Apache Commons, etc., reducing unnecessary blocks of codes and optimizing the codebase. The JavaDoc commenting style should also be united, an example can be taken from MinicraftPlus/minicraft-plus-revived#579. Ideally, any potential errors and exceptions should be caught and handled properly, minimizing the chances getting unhandled errors, uninformative reports and unideal fallbacks/case handlings, thus making it cooperative with the upcoming crash report system (#33). This may need time to be come over.

Tasks

This task involve optimizing, reorganizing, and reviewing the classes in the codebase. It will be divided into the following five parts, each managed through separate pull requests. Each one following would be made into a pull request when it is the time, checked when merged.

  • Part 1: Methods, Fields and Validation
  • Part 2: Registry and Settings
  • Part 3: Class Categorizing and JSON
  • Part 4: Logging and Crash Report System Part 2
  • Part 5: Performance Optimizations and Display Capacity
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment