一位同事因为设计的几个类搞了几十个public的成员,被经理指责得一无是处,大家评评理!(0分)

K

kk2000

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:xibaixin, 时间:2008-7-31 15:02:56, ID:3911320
我现在已经作了一个系统,不小了。但从未用过类。向你们学习

晕! 只要你是delphi 写的使用了TForm 你就使用类了!
 
L

linuxping

Unregistered / Unconfirmed
GUEST, unregistred user!
经理也要看老板脸色

不能怪经理的。。。。。。。。。。。。。
 
S

skyjacker

Unregistered / Unconfirmed
GUEST, unregistred user!
学习一下:
1、决不能把数据成员放在public中。(小女孩犯了这个错误)
2、不能把property 认为是public 的替代办法或者混淆了property和public。(这个经理犯的错误)
一个核心问题就是如何封装。封装的原则应该是按业务功能来封装的,屏蔽业务逻辑的实现。

“来自:muhx, 时间:2008-6-23 10:41:31, ID:3903475

public
FName: string;

private
FName: string;
public
property Name: string read FName write FName;
有什么区别吗?“

我觉得就算加上GetName, SetName 在封装方面上没有多大区别。
包括A.Height 和 A.SetHeight。
难道Set*** 就没有破坏封装吗?无非给我们提供了一个行为上的含义而已。

封装时没有必要牵扯到 property。 Private,protected,public也管不着property。
public与 property 根本就没有关系。
property 是VCL架构的一部分,主要作用是用来在对象查看器中显示并操作对象的。

可以把property 看做是 private,protectd,public的一个忠诚卫士。你们内部如何如何我不管,我property有自己艰巨而光荣的任务。
 

张辉明

Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵,这个帖子一直在顶。现在DFW好帖子真是不多了。
我想补充一点,除了public外,其它域的数据成员也要尽量少用。函数之间使用参数来传递
变量,这对后期维护极有好处。
 
B

butterflylly

Unregistered / Unconfirmed
GUEST, unregistred user!
我也是女孩子,刚毕业,以前学的java,现在公司做Delphi,有多半年了.自学的,花两周时间,在花了一个月时间写了个程序,都是自己写的类,那时在老大的指导下已注意到了oop思想了.还待提高,觉得这里很不错!
特别崇拜"小雨哥",有空多指教啊!QQ:172162077.
 
B

butterflylly

Unregistered / Unconfirmed
GUEST, unregistred user!
我也是女孩子,刚毕业,以前学的java,现在公司做Delphi,有多半年了.自学的,花两周时间,在花了一个月时间写了个程序,都是自己写的类,那时在老大的指导下已注意到了oop思想了.还待提高,觉得这里很不错!
特别崇拜"小雨哥",有空多指教啊!QQ:172162077.
 
B

butterflylly

Unregistered / Unconfirmed
GUEST, unregistred user!
我也是女孩子,刚毕业,以前学的java,现在公司做Delphi,有多半年了.自学的,花两周时间,在花了一个月时间写了个程序,都是自己写的类,那时在老大的指导下已注意到了oop思想了.还待提高,觉得这里很不错!
特别崇拜"小雨哥",有空多指教啊!QQ:172162077.
 
U

ugvanxk

Unregistered / Unconfirmed
GUEST, unregistred user!
经理应该把自己的思路方法讲一下吧。
直接批评的方式不好,怎么死的都不知道。
不知道长江后浪推前浪,前浪死在沙滩上呀
 
G

gzccjz

Unregistered / Unconfirmed
GUEST, unregistred user!
你的同事是女程序员? 很少见
 
Y

yujing_0712

Unregistered / Unconfirmed
GUEST, unregistred user!
可能那位同事去维护那些很难维护的代码后,才能体会经理当初说的每句话吧。
 
T

Tuatara

Unregistered / Unconfirmed
GUEST, unregistred user!
在多人合作开发项目,项目经理事先就必须制定一些规范化文本,除了一些公认的规划化编码,项目经理也必须制定一些内部规范,并且让开发人员阅览学习,显然,这个骂人经理自身就不合格。
 
S

SEVN

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:zqw0117, 时间:2008-6-27 8:32:28, ID:3904550
这种帖子的魅力就是看回帖!哈哈

说的好,这才是大富翁的感觉.
 
H

hfghfghfg

Unregistered / Unconfirmed
GUEST, unregistred user!
俺不懂,经理 到底是啥意思啊!

几十个public的成员,是不是有些要改成 readonly 的属性啊?
或者
有些要在 set的过程里做处理如数据校验 或 事件通知 或 数据感知?

如不考虑这些
是不是
这几十个public的成员 要相关的 几个 做成 一个 record 便于赋值?
或者
是做成属性 published 为了以后打成控件 更模块化?
又或者
做成属性后直接序列化时,可以用 ms.WriteComponent(),然后保存成文件或直接
走内存或网络传输啊?


这个 经理 到底是啥意思啊??? 也不说明白!
 

Similar threads

S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
863
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部