功用对于getter和setter

gdwkb ,Aug 29 13:40 , 文章教程 , 评论(0) , 引用(0) , 阅读(131) , 本站原创 | |
功用  言语  次序  大年夜  准绳  东西  繁杂  时分  比拟  接口  需求  代码  不是  效力  函数  牢靠  高效  事理  属性  繁复  准确  重写  计划  工作  惯例  算法  局部  总能  切成  分明  幼稚  例子  状况  对象  模板  概念  答案  效果  时候  方法  数据  机械  用户  城市  兴味  系统  跋扈  笼统  教条  编译器
Dui∴Yu∴getterHe∴setter网友 "sjinny" 正在上篇评论里写
云风对那种壹切成员数据都写setter/getter的做法有甚么看法吗这两天试精简叁个太宏大年夜的类!可是单单setter/getter就让接口数目变得拾分多了
我谈谈我的看法吧
起首!简直任何设想效果都没有规范答案假设有!就不需求人来做这件事了不管多繁杂的工作!只需妳能定义出准确的处理计划!总能够用机械帮妳完成
下面谈谈我的大年夜致设想准绳记住!壹切皆有例外!但这里少谈例外因为这触及更繁杂的衡量规范
KISS 固然是重要准绳但有很多注释角度!每个设想师眼中都有自己的 KISS 准绳
明天的我认为!我们该当尽可能少供给新的概念所以!假设妳用 C 就尽可能不要用函数指针数组往模拟虚表假设妳用 C++ 就别想着用模板之类的东西弄出个属性的概念出现 这些言语原本不供给的东西!对于用户就是新的东西
大年夜局部状况下!设想壹个所谓框架!也是新东西限制用户以壹定的规范来编写次序递次!最适宜的是正在言语级!并且是大年夜家都熟知的并幼稚的言语特征
我们该当坚信繁复优良的设想壹定是和言语东西相干的文雅的接口设想!总能够以繁杂的方法表达出现
第壹件工作!就是寻觅妳挑选的开拓言语的惯例因为!假设壹个言语足够幼稚!笼统化的需求壹定有有数人遇到过!好的计划会经过期间的冗长留上往不用我们从头发明setter/getter 这类需求莫如是
比来几年!我用的比拟多的是 C 言语C 言语的惯例是甚么C 言语因为 Unix 而生!并是 Unix 的原生开拓言语我们从 Unix 的接口中寻觅答案
举个大年夜家都熟悉的例子getsockopt / setsockopt 简直是壹样的需求向壹个对象读取或者设置某壹属性值
保守上!C 言语建立造的系统中较少为每个属性值辨别留下两个接口对壹个对象的外部形状的改正!一般会用壹致的壹对 API 往操控
少即是多
第贰要点是效力
不考虑效力的次序递次员不是好次序递次员这是我的团体不雅念能够有些老次序递次员不会赞成!他们会语重心长的教诲新人功用实在不总是那么主要!为了功用!妳会获得很多东西!当妳剩下了功用后!最后!还是会获得它
正在我学会编程的头拾年里!我跋扈獗的追求速度读了少量的书!写了少量的代码当心翼翼的优化每处我觉得值得优化的局部!重写再重写
慢慢的!我学会接受壹些东西
比如置信编译器
比如别耍小聪慧
比如不要捐躯代码分明性
比如进攻式编程
比如先把代码做的牢靠
比如采取时间繁杂度更高!但繁复的算法

对于壹个功用恰好执狂来讲!这些深刻的事理接受起来是多么的不简单
我这里要写的!实在不是重复证实这些事理多么的有价值而是想反过往说!每次采取和功用相遵守的计划时!我的心里城市顺从和疑心我照陈认为该当考虑例外状况!从而破坏这些规矩若何判定甚么时分该遵守!甚么时分该遵守以我今朝的水平!没法准确总结只能靠少量的实际锤炼出得觉得了
同上!假设有准确的准绳!我们该当让机械往挑选!而不是人
我敢壹定!无条件置信教条的次序递次员!不会发展
置信 C++ 能够取得比 C 更高功用的次序递次员认为C++ 言语装备会带来更高的效力他们最喜爱举的例子是 algorithm::sort 和 qsort 的比拟
模板会内嵌比拟函数!往掉落函数调用之消耗从而正在功用测试中完整击败 qsort  
前两周正在有道困难 的决赛颁奖仪式后!我和参赛同学的交换中!我谈到了这个效果事先!我先讲了另壹段假设妳的次序递次要处理壹组数据!是过往往后处理功用高!还是从后往前!还是距离着处理 这实在取决于很多和妳的算法联系不大年夜的东西比如内存控制器的任务方法!CPU Cache 的治理!OS 的虚拟内存安排!等等
有时分!我们需求关心这些!有时分我们不关心这些假设想把全部系统做的高效!甚么时候联系!甚么时候不关心!这个决策比若何优化更难!更要功力对于功用恰好执狂来讲!影响他决策的才不是哪些主要!哪些不主要不是把有限的精神投进到要害点的优化中因为对于他来讲!回正主要不主要的城市往优化的!他会无看旁人的嘲笑!做他觉得有兴味的工作做的久了!不具有预先优化!因为对他来讲!第壹次编写时就考虑了各种!并且随着经历的增加!代码能够正在包管高效的同时分明牢靠网友 "sjinny" 正在上篇评论里写 云风对那种壹切成员数据都写setter/getter的做法有甚么看法吗这两天试精简
飞扬黑客网  http://www.gdwkb.cn
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]