Urho3D使用以下约定和原则:
- 左手坐标系。正X、Y和Z轴指向右侧、上方和前方,正旋转为顺时针。
- 度用于角度。
- 顺时针顶点定义正面。
- 音频音量指定为0.0(静音)到1.0(全音量)
- 路径名使用斜杠而不是反斜杠。调用操作系统时,路径将在内部转换为必要的格式。
- 在脚本API中,只要合适,就会使用properties 而不是Set。。。()和获取。。。()函数。如果setter和getter需要索引参数,则该属性将使用数组样式的索引,其名称将为复数。例如,C++中的model->SetMaterial(0,myMaterial)将在脚本中变为model.materials[0]=myMaterial。
- 在类的公共API中尽可能使用原始指针。这简化了向脚本公开函数和类,并且相对安全,因为SharedPtr和WeakPtr使用侵入式引用计数。
- 当对象的公共API允许通过Set。。。()函数,这意味着通过SharedPtr拥有所有权。例如,将材质指定给StaticModel,或将视口指定给渲染器。要结束分配并释放引用计数对象,请调用Set。。。()函数再次使用空参数。
- 没有C++例外。而是使用错误返回值(假/空指针/伪引用)。当没有其他合理的方法时,例如使用越界数组访问时,会使用脚本异常。
-
向公共API函数(如越界索引或空指针)提供非法数据不应导致崩溃或损坏。而是根据需要记录错误。
-
第三方库包含在构建过程的源代码中。然而,它们尽可能完全隐藏在公共API中。
有关C++编码风格的更多详细信息,请参见编码约定。