There has been discussion from time to time about dropping CamelCase in Panda3D in favor of snake_case which also would be more “Pythonic” to begin with. For anyone who doesn’t know in what way it would be more Pythonic to use snake_case, please have a look at PEP 8. (admittedly, one can argue that PEP 8 was devised to keep the Python Standard Library on a single coding style, though IMHO it is a proven and good style convention to follow also outside of the standard library)
This would entail the following:
- All methods in Panda3D would be by default in snake_case (e.g. loader.load_model instead of loader.loadModel) => There are a limited amount of cases left, where only CamelCase is available currently, otherwise snake_case is almost entirely available in Panda3D as of the time of this writing
- All member variables => This would be a potentially/likely breaking change and ample advanced notice should be given. My suggestion would be to announce it 2 releases prior to it taking effect
- All function arguments => same as member variables
There are ideas floating around to keep both notations around for legacy purposes and since I’m neither a core dev of Panda3D nor do I have any big project that couldn’t be updated with some easy refactoring if CamelCase were to be dropped, I started this discussion to hear from other Panda3D users to collect suggestions, objections, critique and so forth.