You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 line
1.3KB

  1. Code Quality Issues
  2. Okay, face it. Programmers can get lazy, cut corners, or make mistakes. They
  3. also can do quick prototypes, and then forget to rewrite them later. Well,
  4. while I can't list mistakes in here, I can list prototype-like segments
  5. of code that should be aggressively refactored. This does not list
  6. optimization issues, that needs to be done after intense profiling.
  7. docs/examples/demo.php - ad hoc HTML/PHP soup to the extreme
  8. AttrDef - a lot of duplication, more generic classes need to be created;
  9. a lot of strtolower() calls, no legit casing
  10. Class - doesn't support Unicode characters (fringe); uses regular expressions
  11. Lang - code duplication; premature optimization
  12. Length - easily mistaken for CSSLength
  13. URI - multiple regular expressions; missing validation for parts (?)
  14. CSS - parser doesn't accept advanced CSS (fringe)
  15. Number - constructor interface inconsistent with Integer
  16. Strategy
  17. FixNesting - cannot bubble nodes out of structures, duplicated checks
  18. for special-case parent node
  19. RemoveForeignElements - should be run in parallel with MakeWellFormed
  20. URIScheme - needs to have callable generic checks
  21. mailto - doesn't validate emails, doesn't validate querystring
  22. news - doesn't validate opaque path
  23. nntp - doesn't constrain path
  24. vim: et sw=4 sts=4