锁定老帖子 主题:语言逻辑边界和新手友好
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-14
如果由人指定,那么也可以让这个人指定某个函数只能写入A功能的代码。
|
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 如果由人指定,那么也可以让这个人指定某个函数只能写入A功能的代码。
带项目这样带,你这样还让不让人活。你自己想像下,这样会是什么样的场景?说个不好听的,你这样多少是有些抬杠了。 |
|
返回顶楼 | |
发表时间:2006-10-14
不要生气,似乎我还不太清楚你要表达的意思,自然语言本来就是这样容易造成混淆和二义。
如果指定某个class只能写入A功能的代码 我的理解是你的意思是指某个class的某个成员函数只能写入A功能的代码。 你的真正意思是A功能的代码可以分散在这个class的几个成员函数中? |
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 不要生气,似乎我还不太清楚你要表达的意思,自然语言本来就是这样容易造成混淆和二义。
如果指定某个class只能写入A功能的代码 我的理解是你的意思是指某个class的某个成员函数只能写入A功能的代码。 你的真正意思是A功能的代码可以分散在这个class的几个成员函数中? 是,没错,就是这个意思。 |
|
返回顶楼 | |
发表时间:2006-10-14
那么你也可以A功能的代码可以分散在某个文件的几个函数中。
|
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 那么你也可以A功能的代码可以分散在某个文件的几个函数中,C++的概念在C中都有对应(在我接触的范围内)。
这样 1。要指定文件,2。要指定函数名。3。code review问题 指定文件,这个实际上操作过程中是有难度的。项目过程中文件增长都是随时的,并非一定是项目带领者来创建,这个也不可能。 指定函数名:这个就是规定每个函数只能编写什么功能,管理粒度太小,价值不大,且麻烦。还得事先把函数架子写好。真要这样做,就是疲于奔命了。 code review,项目过程中经常需要做的code review,就我自己经验而言,先从设计角度看代码结构是否合理,然后再某些关键函数上仔细推敲。从结构上去看的话,有个边界,是最好不过了。今天我只看A class的代码,明天再检查B Class的代码。 最后的问题,就是不听话,或者说听了过段时间就忘记了。可以给新手们定下很多规则,但是别指望他们都能够牢记在心。 如果你的规则是无形的,或者只是你的经验,那么项目过程中,失控的次数就很多。语言本身有边界,虽然还是会出现失控现象,但是这种失控会被限制在很小范围内。 |
|
返回顶楼 | |
发表时间:2006-10-14
》指定文件,这个实际上操作过程中是有难度的。项目过程中文件增长都是随时的,并非一定是项目带领者来创建,这个也不可能。
在c++中一般一个类是一个文件吧,在C中一样可以,用不着指定文件名,只要实现A功能的函数在一个文件中即可。 》指定函数名:这个就是规定每个函数只能编写什么功能,管理粒度太小,价值不大,且麻烦。还得事先把函数架子写好。真要这样做,就是疲于奔命了。 如果你在管理C++新手的时候不指定成员函数名,那么在这个也用不着指定函数名。 》code review,项目过程中经常需要做的code review,就我自己经验而言,先从设计角度看代码结构是否合理,然后再某些关键函数上仔细推敲。从结构上去看的话,有个边界,是最好不过了。今天我只看A class的代码,明天再检查B Class的代码。 文件就是C的边界。 》可以给新手们定下很多规则,但是别指望他们都能够牢记在心。 C++失控的话恐怕范围不会小。 btw:C++的概念在C中都有对应,我已经否定,至少模板就没有。 |
|
返回顶楼 | |
发表时间:2006-10-14
不晓得你有没有真正做过c或者c++的项目。c代码可以随意写入任何文件,这点对于一个不是很熟悉项目规则,而且还经常忘记高年级生经验之谈的新手而已,诱惑有多大。没做过,就不会明白的。
你的想法建立在 “新手们不会出错,而且一定会遵守高年级生的经验”之上。 我的出发点则是“新手一定会出错,还经常忘记各种善意提醒”。我们还是就此打住。这样讨论下面去没有结果的。 |
|
返回顶楼 | |
发表时间:2006-10-14
》不晓得你有没有真正做过c或者c++的项目。
实话说,我也想问你一个问题:不晓得你对C到底掌握多少。 但这是口水,口水的话不要说。 C代码可以随意写入任何文件,这话太模糊,不知道你要表达的意思是什么,表面意思看C++代码也可以随意写入任何文件。 打住是你的自由。 |
|
返回顶楼 | |
发表时间:2006-10-14
用技巧达到C封装实际上比C++的class更加严格(class可以做到和C技巧一样严格,但会出现别的麻烦)。
C程序员学会这种技巧的难度和C程序员学会class中的成员函数的用法的难度不好评价,大致相当吧 但由于这种技巧的不流行性,同时class方式的流行性,必然带来C新手和C++新手在这方面的区别,不过这不是C和C++在这方面的区别。 当然在管理人员眼里是分不清这些的。 |
|
返回顶楼 | |