iluwatar / 30-seconds-of-java

Collection of reusable tested Java 17 compatible code snippets that you can understand in 30 seconds or less.
https://java-design-patterns.com/snippets.html
MIT License
1.03k stars 396 forks source link

Lindenmayer (L-system) function #214

Open iluwatar opened 3 months ago

iluwatar commented 3 months ago

Description

We need to implement the Lindenmayer system (L-system) algorithm for generating strings based on predefined production rules. This algorithm should be designed with modularity and scalability in mind, adhering to best practices in software design and architecture. The implementation should be clean, efficient, and well-documented, aligning with our project's contribution guidelines.

The L-system algorithm is well-documented in various sources:

Key Requirements

Acceptance Criteria

  1. The implemented function correctly generates L-system strings based on the given axiom, production rules, and iterations.
  2. The implementation follows the project's contribution guidelines and best practices in software design.
  3. The code is covered by unit tests that verify its correctness under various scenarios and edge cases.

Contribution Guidelines