Difference: LhPackage (3 vs. 4)

Revision 42020-04-14 - ZhuChengguang

Line: 1 to 1
 
META TOPICPARENT name="LhSoft"

Package in LhSoft

LhSoft 的功能单元:pacakge

Changed:
<
<
  • package是 LhSoft 的基本单元,具有独立的功能。使使用LhSoft的软件开发者可以从package开始组建自己的分析程序,而不是从C++代码开始。
  • package通常表现为一个名为xxxx的文件夹,具有相对固定的文件夹结构,例如:源文件(.cc)文件夹src,头文件(.h)文件夹xxxx,编译文件夹cmt,宏控制文件夹python,编译产生的目标文件的文件夹等
  • 一个pacakge实现一个具体的功能,按照功能分为三种形式:Algorithm,Service,Tool
  • pacakge由相对固定的developer设计和维护,并提供给整个合作组使用
  • LHAASO软件发布的每一个官方release,由指定版本的pacakge组成。
>
>
  • package是LHAASO软件的基本功能单元。使数据分析软件编写可以从package模块开始,而不全部从C++代码开始。
  • package表现为一个名为xxxx的文件夹,具有相对固定的文件夹结构:
    • 源文件(.cc) 文件夹 src
    • 头文件 (.h) 文件夹 xxxx,(通常和pacakge名相同)
    • 编译文件夹 cmt
    • 宏(.py)文件夹 python,
    • 编译产生的目标文件的文件夹, 名字根据系统而变
    • 可执行宏文件文件夹 share
  • 一个pacakge实现一个具体的功能,按照功能分为三种形式:Algorithm(算法),Service(服务),Tool(工具).
  • 开发pacakge时,请参照以下规则,以及例子 http://svn.lhaaso.ihep.ac.cn/People/zhucg/tags/Examples/ 进行。
  • 开发pacakge的过程中参照 LhSoftSVN 说明,使用SVN将code管理起来。

可发布pacakge

  • 个人开发的package被合作组官方采用,是个人以及所在单位对合作组的贡献,也是对pacakge进行全面debug的过程
  • 参照 LhSoftSVN 说明,维护pacakge的版本发展,便于官方发布。
  • 注意事项:
    • pacakge发布前应当进行深度检验,证明package正确性
    • 点击 LhSoftPerson 中pacakge的名字应能在相应网页中查到对pacakge的说明以及验证结果。
    • 版本更替时,pacakge内的函数名应尽量保持稳定,如确实需要更改,建议如下:
      • 如原函数仍可用,只是形参需要修改,那么保持原函数,增加重载函数。
      • 原函数无法使用,一定删除原函数,再增加新函数。
    • 用户返回的问题,应及时解决并在下一版本中更正,并收入下一个官方版本。
 

Package的编写规则

Changed:
<
<
编写规则并非强制,但是将非常有利于大家交流。
>
>
编写规则利于相互交流,自己开发的软件被更多人使用。
 

1. Package 命名规则

* package名由一个或多个首字母大写的完整单词组成,或者因名字过长,部分或全部单词采用易分辨的缩写代替,例如:DetectorSimulation or DetSim.

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback