1.2 KiB
1.2 KiB
Code Style and Conventions for TaskBuffer
File Structure
- Source code in
ts/directory - Tests in
test/directory - Compiled output in
dist_ts/ - All filenames must be lowercase
Naming Conventions
- Interfaces: Prefix with
I(e.g.,ITaskFunction) - Types: Prefix with
T(e.g.,TPreOrAfterTaskFunction) - Classes: PascalCase (e.g.,
TaskManager) - Files:
taskbuffer.classes.{classname}.tspattern - Test files:
test.{number}.{feature}.tspattern
TypeScript Conventions
- Use ES modules (import/export)
- Avoid ENums when possible
- Import dependencies through
plugins.ts - Reference with full path:
plugins.myModule.myClass() - Use async/await patterns consistently
- Strong typing throughout
Testing Conventions
- Import expect from
@git.zone/tstest/tapbundle - Test files end with
export default tap.start() - Use descriptive test names with tap.test()
- Test both browser and node when applicable
Code Quality
- Make focused, goal-oriented changes
- Preserve necessary complexity
- Keep code elegant and maintainable
- No inline documentation unless requested
- Complete implementations only (no partial work)