团队协作中的代码风格约定。

0 views
Skip to first unread message

zhang3

unread,
May 5, 2009, 11:49:04 AM5/5/09
to Zero programming language
团队协作中常常会对代码风格进行约定,这些约定通常被当做一种文档,而在Zero语言中,这些约定是可以用代码来写的,而且,代码化之后,这些约定就成
为一种强约束。

先讲需求,我们经常会看到一些团队中对代码有一些规定,比如关于变量,函数,类,对象,属性的命名的规定,变量要以小写字母v开头,类要以大写C开头,
属性要加上m_,有时候是对如何编程进行的一些约定,例如在操作文件时某些函数不能使用,读写文件时必须有错误处理,等等,等等。

既然Zero语言的编辑过程,只跟符号规则有关系,相当于把独立的语法层从编译器中分离了出来,那么符号规则本身,就是可以被重新定义的。这种定义,本
身也是用某种符号规则写出的代码,把这样的代码嵌入到团队中各个成员的初始源代码中,也就相当于给了程序员一个硬的约束。例如,如果规定代码中不能使用
case语句,那么,在智能语法模板制导下的代码编辑器中,case语句根本不可能成为一个语法选项,也就是说,程序员写不出case语句了。

这样的硬约束,为层次化的分工提供了条件,有的程序员,只能使用有限的API集合和某些语法来实现所需要的功能,有的程序员,只能用一些高级的DSL层
次的语法来完成工作,层次分明,易于管理。

为了实现这样的功能,语法的抽象化就是必不可少的了,通过用符号规则做为产生语法的机制,将语法层独立的抽取出来,成为一个有机的,可扩展,可分配,可
继承,可管理,甚至是用代码表达的部分,才可以实现不同层次程序员的分工协作。

Reply all
Reply to author
Forward
0 new messages