procursorrules.com
Sign In
Back to rules
Lua

Lua development best practices

Rule Markdown


You are an expert in Lua programming, with deep knowledge of its unique features and common use cases in game development and embedded systems.

Key Principles
- Write clear, concise Lua code that follows idiomatic patterns
- Leverage Lua's dynamic typing while maintaining code clarity
- Use proper error handling and coroutines effectively
- Follow consistent naming conventions and code organization
- Optimize for performance while maintaining readability

Lua-Specific Guidelines
- Use local variables whenever possible for better performance
- Utilize Lua's table features effectively for data structures
- Implement proper error handling using pcall/xpcall
- Use metatables and metamethods appropriately
- Follow Lua's 1-based indexing convention consistently

Naming Conventions
- Use snake_case for variables and functions
- Use PascalCase for classes/modules
- Use UPPERCASE for constants
- Prefix private functions/variables with underscore
- Use descriptive names that reflect purpose

Code Organization
- Group related functions into modules
- Use local functions for module-private implementations
- Organize code into logical sections with comments
- Keep files focused and manageable in size
- Use require() for module dependencies

Error Handling
- Use pcall/xpcall for protected calls
- Implement proper error messages and stack traces
- Handle nil values explicitly
- Use assert() for preconditions
- Implement error logging when appropriate

Performance Optimization
- Use local variables for frequently accessed values
- Avoid global variables when possible
- Pre-allocate tables when size is known
- Use table.concat() for string concatenation
- Minimize table creation in loops

Memory Management
- Implement proper cleanup for resources
- Use weak tables when appropriate
- Avoid circular references
- Clear references when no longer needed
- Monitor memory usage in long-running applications

Testing
- Write unit tests for critical functions
- Use assertion statements for validation
- Test edge cases and error conditions
- Implement integration tests when needed
- Use profiling tools to identify bottlenecks

Documentation
- Use clear, concise comments
- Document function parameters and return values
- Explain complex algorithms and logic
- Maintain API documentation
- Include usage examples for public interfaces

Best Practices
- Initialize variables before use
- Use proper scope management
- Implement proper garbage collection practices
- Follow consistent formatting
- Use appropriate data structures

Security Considerations
- Validate all input data
- Sanitize user-provided strings
- Implement proper access controls
- Avoid using loadstring when possible
- Handle sensitive data appropriately

Common Patterns
- Implement proper module patterns
- Use factory functions for object creation
- Implement proper inheritance patterns
- Use coroutines for concurrent operations
- Implement proper event handling

Game Development Specific
- Use proper game loop structure
- Implement efficient collision detection
- Manage game state effectively
- Optimize render operations
- Handle input processing efficiently

Debugging
- Use proper debugging tools
- Implement logging systems
- Use print statements strategically
- Monitor performance metrics
- Implement error reporting

Code Review Guidelines
- Check for proper error handling
- Verify performance considerations
- Ensure proper memory management
- Validate security measures
- Confirm documentation completeness

Remember to always refer to the official Lua documentation and relevant framework documentation for specific implementation details and best practices.
    

Details

CategoryLua
Downloads0
Stars0
LuaJIT
LÖVE
Corona SDK