论坛首页 综合技术论坛

语言逻辑边界和新手友好

浏览 26141 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-10-14  
如果由人指定,那么也可以让这个人指定某个函数只能写入A功能的代码。
0 请登录后投票
   发表时间:2006-10-14  
ddd 写道
如果由人指定,那么也可以让这个人指定某个函数只能写入A功能的代码。


带项目这样带,你这样还让不让人活。你自己想像下,这样会是什么样的场景?说个不好听的,你这样多少是有些抬杠了。
0 请登录后投票
   发表时间:2006-10-14  
不要生气,似乎我还不太清楚你要表达的意思,自然语言本来就是这样容易造成混淆和二义。

如果指定某个class只能写入A功能的代码
我的理解是你的意思是指某个class的某个成员函数只能写入A功能的代码。
你的真正意思是A功能的代码可以分散在这个class的几个成员函数中?
0 请登录后投票
   发表时间:2006-10-14  
ddd 写道
不要生气,似乎我还不太清楚你要表达的意思,自然语言本来就是这样容易造成混淆和二义。

如果指定某个class只能写入A功能的代码
我的理解是你的意思是指某个class的某个成员函数只能写入A功能的代码。
你的真正意思是A功能的代码可以分散在这个class的几个成员函数中?

是,没错,就是这个意思。
0 请登录后投票
   发表时间:2006-10-14  
那么你也可以A功能的代码可以分散在某个文件的几个函数中。


0 请登录后投票
   发表时间:2006-10-14  
ddd 写道
那么你也可以A功能的代码可以分散在某个文件的几个函数中,C++的概念在C中都有对应(在我接触的范围内)。



这样 1。要指定文件,2。要指定函数名。3。code review问题

指定文件,这个实际上操作过程中是有难度的。项目过程中文件增长都是随时的,并非一定是项目带领者来创建,这个也不可能。

指定函数名:这个就是规定每个函数只能编写什么功能,管理粒度太小,价值不大,且麻烦。还得事先把函数架子写好。真要这样做,就是疲于奔命了。

code review,项目过程中经常需要做的code review,就我自己经验而言,先从设计角度看代码结构是否合理,然后再某些关键函数上仔细推敲。从结构上去看的话,有个边界,是最好不过了。今天我只看A class的代码,明天再检查B Class的代码。

最后的问题,就是不听话,或者说听了过段时间就忘记了。可以给新手们定下很多规则,但是别指望他们都能够牢记在心 如果你的规则是无形的,或者只是你的经验,那么项目过程中,失控的次数就很多。语言本身有边界,虽然还是会出现失控现象,但是这种失控会被限制在很小范围内。
0 请登录后投票
   发表时间:2006-10-14  
》指定文件,这个实际上操作过程中是有难度的。项目过程中文件增长都是随时的,并非一定是项目带领者来创建,这个也不可能。
在c++中一般一个类是一个文件吧,在C中一样可以,用不着指定文件名,只要实现A功能的函数在一个文件中即可。
》指定函数名:这个就是规定每个函数只能编写什么功能,管理粒度太小,价值不大,且麻烦。还得事先把函数架子写好。真要这样做,就是疲于奔命了。
如果你在管理C++新手的时候不指定成员函数名,那么在这个也用不着指定函数名。
》code review,项目过程中经常需要做的code review,就我自己经验而言,先从设计角度看代码结构是否合理,然后再某些关键函数上仔细推敲。从结构上去看的话,有个边界,是最好不过了。今天我只看A class的代码,明天再检查B Class的代码。
文件就是C的边界。

》可以给新手们定下很多规则,但是别指望他们都能够牢记在心。
C++失控的话恐怕范围不会小。

btw:C++的概念在C中都有对应,我已经否定,至少模板就没有。
0 请登录后投票
   发表时间:2006-10-14  
不晓得你有没有真正做过c或者c++的项目。c代码可以随意写入任何文件,这点对于一个不是很熟悉项目规则,而且还经常忘记高年级生经验之谈的新手而已,诱惑有多大。没做过,就不会明白的。

  你的想法建立在 “新手们不会出错,而且一定会遵守高年级生的经验”之上。
  我的出发点则是“新手一定会出错,还经常忘记各种善意提醒”。我们还是就此打住。这样讨论下面去没有结果的。
 
0 请登录后投票
   发表时间:2006-10-14  
》不晓得你有没有真正做过c或者c++的项目。
实话说,我也想问你一个问题:不晓得你对C到底掌握多少。
但这是口水,口水的话不要说。

C代码可以随意写入任何文件,这话太模糊,不知道你要表达的意思是什么,表面意思看C++代码也可以随意写入任何文件。

打住是你的自由。
0 请登录后投票
   发表时间:2006-10-14  
用技巧达到C封装实际上比C++的class更加严格(class可以做到和C技巧一样严格,但会出现别的麻烦)。

C程序员学会这种技巧的难度和C程序员学会class中的成员函数的用法的难度不好评价,大致相当吧
但由于这种技巧的不流行性,同时class方式的流行性,必然带来C新手和C++新手在这方面的区别,不过这不是C和C++在这方面的区别。

当然在管理人员眼里是分不清这些的。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics