Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The CamelCase is being enforced, in the sense that myMessage.msg or myservice.srv will fail to compile. For the case of all caps / multiple uppercase characters, it's harder to enforce are there is no way to know what is a acronym and what is a word. So OSRFUAV.msg should be valid, but MYTEST.msg should not. So we decided to not prevent that use case at the moment relying on users to use CamelCase and so to have multiple uppercase characters only in the case of acronyms.

Note that if you have MYTEST.msg and MyTest.msg, the generated files and symbols won't collide as they are converted from CamelCase to lowercase_with_underscores.

MYTEST.msg  -> _mytest,py
            -> mytest.hpp
MyTest.msg  -> _my_test.py
            -> my_test.hpp

And the resulting symbols:

MYTEST.msg -> class MYTEST (Python)
           -> struct MYTEST_ (C++)
MyTest.msg -> class MyTest
           -> struct MyTest_