My two cents are to agree with Sunil. Remember you are very familiar with the code base. You know there is a class AgentConfig.  If I am new to the code base, I look at this declaration and I am less than 100% certain of the type of agentConfig. If everyone follows your naming convention everywhere, I will start to be pretty sure as I work in the code, but not certain as I would be if the type was declared. I recognize that this thread could now quickly devolve into a flame war about auto, type systems and the secret of the universe.  Rather than debate, perhaps just understand that my perspective is that of someone who occasionally works in this code, but does not frequently work in this code. For me, auto never makes things more clear and always makes them less clear. That is, it makes maintenance of a public open source project being worked on by an ever-growing variety of developers hard to do, not easier.