Пишите хороший API
Если вы собираетесь написать некоторую программную библиотеку, Framework, или предоставить пользователям программный интерфейс к какому-либо вашему продукту, вам необходимо правильно проектировать то, что разработчики называют API.
API является языком, на котором будут говорить разработчики между собой, с вами и с вашим программным продуктом, из чего следует, что программы, использующие API должны читаться как небольшие рассказы для детей. Да, да - так же просто и понятно.
Вы должны постараться спроектировать интерфейсы так, чтобы пользователям было сложно использовать их неправильно. Постарайтесь называть классы и методы так, чтобы читая их в коде не требовалось бы смотреть в документацию.
Не добавляйте в интерфейс лишнего! Если вы задумались над тем, нужен ли этот функционал - не теряйте время, забудьте о нем! Вы сделаете его потом, в том случае, если он действительно нужен.