## OTP Code Review
### Testing
- Prefer real services over test double
- Prevents deviation from real implementation (say if interface changes)
- If methods need to be stubbed of spied on, use `jest.spyOn` which has the benefit of typechecking if the method does not exist, etc.
- Component tests should use DOM rather than class properties/methods
- Remove usages of `compnent as any`
### Group by feature
- Components, util, and other libs should be in feature folders or in `pub/shared`
### NgRx
- Remove facades
- Unnecessary and adds extra LOC and tests to maintain
- Inline action type enums in `createAction` call
- Use the `.type` property on action creator if needed
### RxJS Operators
- Remove deprecated `forkJoin` usages
### Routing
- Never return `false` or `of(false)` from guards, we need to return a URL to redirect to or else SSR may be broken.
### Analytics
- Usages of deprecated `@ClickTracker()` decorator
- This is new so the team wouldn't have known not to use it :)
### Misc
- `setTimeout` usages need comments to explain why they are there
- Usage of `public` keyword goes against Angular style guide