Fix PAYG violations and code debt
- Dominant language
- ActionScript
- Stars
- 380
- Forks
- 120
- PR merge metrics
- No merged PRs in 30d
Description
We have built up code debt by not being strict enough in PAYG. This issue is an attempt to track PAYG and code inflation problems and come up with solutions to fix them.
I'm using HelloWorld to analyze and improve PAYG issues for now.
Identified issues:
- [x] Dependency on OSUtils
- [x] Dependency on StringUtil
- [x] Dependency on `Vector` code in `Language`
- [ ] Minified code has many duplicate prototype definitions. You can find them by using the following RegExp: `(\w{0,})(\.prototype\.)(\w{0,})=\1\2\3;` Removing these reduced the compiled code of HelloWorld from 97,715 bytes to 96,539 bytes.
- [ ] Dependency on goog.events adds code dependencies on a lot of unnecessary code like browser sniffing. Much of this is even for older browsers that Royale does not support.
- [x] Reflection data is included for all classes used -- even if that reflection data is never actually used in the app. We should look for ways to eliminate reflection data not actually needed.
- [ ] All package paths and classes are exported. This causes an non-trivial amount of code to be included.
- [ ] All public functions are exported. This prevents dead code removal for functions not used and prevents function renaming. We should examine whether this can be improved.
- [ ] Make `CSSUtils` and `SimpleCSSValuesImpl` simpler. [Details below](#issuecomment-573836029)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.