Good question. However, if you want to learn, the requirement shouldn't be a clean code base. Instead you want to find a working and complex code base. Real projects have warts and history. Whereas you can always find perfect code in tutorial snippets and opinionated blog posts.