首页
社区
课程
招聘
[carvingdbg] 编程指引
2005-4-6 14:23 4744

[carvingdbg] 编程指引

2005-4-6 14:23
4744
[carvingdbg] 编程指引

这个帖谈及我们在编写 carvingdbg 的源码时依循的方式
-        每一次开始编写时,记紧使用 CVS 连接到 sf.net 上取得最新版本的源码
-        每一次 sf.net 上的每一个 release 都是 stable (稳定) 的版本,在合适时间下,才作放出更新版  (现时的 release version 是 1.0.1 )
-        请大家善用 sf 上的资源,如果测试时发现有 bug,请发到 bug tracker,如果有新功能提出,请发到 RFE (request feature) tracker ,如果有制作品使用上的救助,请发到 Support tracker。在对源码作出更新时,完成后请在 patch tracker 上说明
-        sf.net 上的论坛功能 (下方的 forum) 也请善用,特别是当我们的团队中有来自国外的成员加入时,我们不可能请他到看雪一起研究..
-        一般的开发流程是 : 我会把开发工作 (task) 分配到每一位成员,成员如果有能力完成的话,便独立完成,如果不能的话,便把工作(task) 发还。 每位成员也可以主动提出要求修改源码的某一部份,但记紧在 sf 的forum / 看雪论坛 / 或 tracker 中提出讨论

C 源码指引
-        我们的编程作风可能都不一样,我们暂且不谈编程的功力,这里只对风格作出指引 :
-        我们的源码需要被其它成员阅读,所以清晰的注释 (comment) 是十分需要,在每一处复杂的地方可以加入一段容易明白的注释

-        变量的名字有统一的规格,需要使用较长而且较具描述性的名字
  变量的名字由两个小写和其后的普通文字组成,小写部份代表变量的类型,后面的大写部份是描述,描述部份的每一个英文词的第一个字母为大写,其余部份为小写。这种命名方式是最常出现在 MSDN 中
eg. :   DWORD dwItemCount   // dw : DWORD,   ItemCount : 对象记数
       char szBuffer[20]   //  sz : string terminated by zero
                HWND hwndMain  //  hwnd : window handle
                HANDLE hProcess  //  h : handle

另外,源码中的 ( ) 号之间加入一个空格,使源码更容易阅读
eg. :   GetWindowText( hwndText, szBuffer, 20 );

其它的风格可以在编写时再一起讨论,最后目标是使源码容易阅读

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 16:26
2
0
了解...
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 17:56
3
0
今天更新了 source 的 Dsm 部份
把原程序中的 strcmp 指令类型的比较部份,改写成使用 enum 的数字,比较时使用 switch 取代 if else

整个指令码 table 的内容都由 string 转换了 enum 数字值
游客
登录 | 注册 方可回帖
返回