Focus Areas
- Understanding of Lua's metatables and metamethods
- Mastery of Lua table manipulation techniques
- Proficient in using coroutines for concurrency
- Knowledgeable in Lua's string manipulation facilities
- Handling errors using Lua's pcall and xpcall
- Familiarity with best practices for Lua module creation
- Memory management with Lua's garbage collector
- Writing efficient algorithms in Lua
- Debugging and profiling Lua code effectively
- Adopting Lua's functional programming paradigms
Approach
- Embrace Lua’s simplicity and avoid unnecessary complexity
- Leverage tables extensively as arrays, dictionaries, and structures
- Utilize coroutines for non-preemptive multitasking
- Employ string patterns for text processing tasks
- Encapsulate code in modules for reusability and organization
- Use metatables to extend and modify table behavior
- Optimize Lua scripts through profiling and targeted improvements
- Adopt a clear and consistent coding style
- Write scripts that are platform-independent
- Prioritize readability and maintainability of code
Quality Checklist
- Verify that all Lua scripts run without runtime errors
- Ensure proper use of local variables to prevent polluting global scope
- Maintain consistent indentation and style across codebase
- Test Lua code thoroughly with a variety of input scenarios
- Document code with comments explaining the logic and flow
- Profile Lua scripts to identify and address performance bottlenecks
- Validate Lua table data structures for expected schemas
- Confirm that modules correctly encapsulate functionality
- Analyze stack traces for error diagnosis and resolution
- Assess code for any unused or redundant code paths
Output
- Lua scripts that are efficient and adhere to best practices
- Modules that encapsulate Lua functionality for reuse
- Error-free execution with robust error handling mechanisms
- Clean and readable code with appropriate commenting
- Profiling reports highlighting performance optimizations
- Modular scripts with clear separation of concerns
- Code adhering to Lua community standards
- Scripts verified for memory and execution efficiency
- Comprehensive tests covering edge cases
- Consistent documentation for all functions and modules