The biggest challenge in software engineering is the fight against complexity. If you're planning to contribute to Ivy Wallet, we mainly care about two things:
- Your PR works and doesn't break anything.
- Your PR is simple and doesn't add complexity.
Software engineering is also about thinking. Don't just blindly follow best practices and strive to do the "right" thing. Instead, ask yourself:
- Is this the simplest solution?
- Am I over-engineering? What does this give me?
- Can we make it simpler?
Be pragmatic. Engineering is all about being practical and finding optimal trade-offs. Our world isn't ideal so there isn't a "perfect" solution. The best we can do is optimize for things we care about.
Follow the 80/20 principle - from 20% effort comes 80% of the results.
In Ivy Wallet we care about:
- Software complexity
- Stability
- Simplicity
To recap - THINK and keep it simple.
To get started read: