Best practices concerning the high-level design of functions that are not specific to React, Typescript, or Javascript.
Are there blocks of code with more than a few lines of code that look similar? Is it possible to refactor to reduce duplication?
Are there multiple, deeply nested if/else blocks?
Is there unused/unreachable code?
Is there a large amount of commented out code? If so, move it to the archive/ directory.
Are there unnecessary comments? Comments that describe the how? If so, eliminate them.
Is there complex and/or unintuitive code? Please add a comment to explain the why.
If you see improvements that cannot be made immediately, add a comment prefaced by “TODO:”.
Is the code readable? Code should be self-explanatory. Do you get a feeling a reading a story as you go through the code?
Does the code conform to the Agile Maxim of “Do not Repeat Yourself”? The same code should not be repeated more than twice.
Are there reusable services, functions and components that are not made available for reuse? Are they in a utilities
directory?