锁定老帖子 主题:语言逻辑边界和新手友好
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-13
Lucas Lee 写道 这个话听着好熟悉。我以前就这么干的,统一一个开发方法、模式、骨架,然后搞几个人按照相同的模子填...
代码一致性当然好啦,维护起来也比较清晰(我没有说非常容易) 不过我后来发现这些相似的、有重复嫌疑的部分更应该让机器去做。 所以越统一,越有固定模版,就越应该、越可能更进一步 ---元数据编程,只要给出不同的部分的定义,其他的用一套代码来做,而不是按一样的架子重复。 BTW,我已经走过了这一步。而且知道很多公司也走到了。大家一起来,:) 这样的事情要量力而行的,虽然理论上行的通,自己未必能够行的通。我向来反对过度追求这些。做项目是以实现项目为第一目标。至于这种提升,提升再提升的事情,还是让强人们去做吧。 |
|
返回顶楼 | |
发表时间:2006-10-13
jack 写道 Lucas Lee 写道 这个话听着好熟悉。我以前就这么干的,统一一个开发方法、模式、骨架,然后搞几个人按照相同的模子填...
代码一致性当然好啦,维护起来也比较清晰(我没有说非常容易) 不过我后来发现这些相似的、有重复嫌疑的部分更应该让机器去做。 所以越统一,越有固定模版,就越应该、越可能更进一步 ---元数据编程,只要给出不同的部分的定义,其他的用一套代码来做,而不是按一样的架子重复。 BTW,我已经走过了这一步。而且知道很多公司也走到了。大家一起来,:) 这样的事情要量力而行的,虽然理论上行的通,自己未必能够行的通。我向来反对过度追求这些。做项目是以实现项目为第一目标。至于这种提升,提升再提升的事情,还是让强人们去做吧。 量力而为也是聪明之举... |
|
返回顶楼 | |
发表时间:2006-10-14
绝对的封装C也能做到,不过大多数人不掌握而已(还有一种是认为自己可以驾驭无边界,用C嘛,就是用它的灵活),导致很多人恐怕都不知道这个东西。
比如FILE*的用法,你知道FILE是什么东西么? |
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 绝对的封装C也能做到,不过大多数人不掌握而已(还有一种是认为自己可以驾驭无边界,用C嘛,就是用它的灵活),导致很多人恐怕都不知道这个东西。
比如FILE*的用法,你知道FILE是什么东西么? 封装这种事情,不应该由开发人员来掌控,就应该放在语言级别上。大部分人只是在使用技术而已,而非技术玩家 |
|
返回顶楼 | |
发表时间:2006-10-14
C++在新手那里也就是struct,哪来的边界。
|
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 C++在新手那里也就是struct,哪来的边界。
C++的较为底层边界有2个,一个是C++ class,一个C++ class的文件组成方式,就是代码物理结构。实际编程中,有种说法不知道你听过没,就是 物理重用。意思就是把某个项目的某几个文件直接复制另外一个项目中,这几个文件不做任何代码上更改。这样的重用就是因为有边界存在而存在的。只要不试图强行打破这个已经存在的边界。做项目时会收益不少。 至于struct,除了当struct用,不会太多其他的用法,虽然struct可以代替class。 |
|
返回顶楼 | |
发表时间:2006-10-14
我是反驳“封装这种事情,不应该由开发人员来掌控,就应该放在语言级别上。”的,你提到哪里去了?
C++中封装还得开发人员来掌控 |
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 我是反驳“封装这种事情,不应该由开发人员来掌控,就应该放在语言级别上。”的,你提到哪里去了?
C++中封装还得开发人员来掌控 呵呵 ,你上面说的太含糊了。 这里我只是希望有种语言封装能够在语言层次上做的很好,C++的class就是一种逻辑上的封装,而且我并非只指C++的封装做的很好,只是提出“逻辑边界越强,越容易带新手做项目”这样一个说法而已。这个也是对比两个项目组的不同表现初步得出的。 这里提到class,并非从OO角度来理解这个概念。class实际上就是一种代码封装不是吗?在项目中,如果指定某个class只能写入A功能的代码,那么对于新手就会很明确的知道代码写在这里,而不是写在那里。这样的项目可控制性就会强很多。 从项目整体来考虑这个语言逻辑边界对于项目的影响。这个是我的本意。 |
|
返回顶楼 | |
发表时间:2006-10-14
》如果指定某个class只能写入A功能的代码
在你看来应该如何指定?是带新手的人指定,还是其他手段? |
|
返回顶楼 | |
发表时间:2006-10-14
ddd 写道 》如果指定某个class只能写入A功能的代码
在你看来应该如何指定?是带新手的人指定,还是其他手段? 带新手的人指定,所以语言本身需要各种边界存在,否则这种指定意义不大。没有边界,代码还是会写飞的。如果你有过带人的经验,就了解我所指了。特别是全部都由新人构成的项目组。 |
|
返回顶楼 | |