博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
珠玑:在仔细研究数据的基础上得出程序的结构
阅读量:5259 次
发布时间:2019-06-14

本文共 817 字,大约阅读时间需要 2 分钟。

优化代码,编写优秀程序绝佳的方法,就是对数据的研究。对数据的仔细研究,之后采用合适的良好的数据结构,会对程序结构代码极大地优化和良好的改变。 该章节试着解决这样的问题:很多繁琐、重复、耦合、难以维护的程序,其实可以用简单的数据结构应用,变得精巧、清晰和完美。 举个例子,一个程序需要统计1到500之间的数字,每个数字在文本中出现的次数,可能会有人写出这样的程序:
if( k==1 ) c1++;if( k==2 ) c2++;if( k==3 ) c3++;if( k==498 ) c498++;if( k==499 ) c499++;if( k==500 ) c500++;
该程序用了500个变量存储每个数字出现的次数,然而仔细研究发现可以用一个500个元素的数组轻松实现。
恰当的数据视图实际上决定了程序的结构,很多程序都可以通过重新组织内部数据而变得更小(并且更好)。 使用模板技术来解决格式化大型文本的需求。 能用小程序实现的,就不要编写大型程序。比如要处理某个N=23的情况的程序,其实完全可以编写只针对N的程序,最后将N赋值为23来实现。
程序员在节省空间方面无计可施时,将自己从代码里解脱出来,退回起点并集中心里
研究数据,常常能有奇效
。(数据的)表示形式是程序设计的根本。 以下是一些参考方法:
  • 使用数组重新编写重复代码。冗余的相似代码常常可以用最简单的数组来描述。
  • 封装复杂结构。如果数据结构比较复杂,直接抽象成类
  • 尽可能使用高级工具:超文本、名值对、电子表格、数据库、编程语言
  • 从数据得出程序的结构:通过使用恰当的数据结构替代复杂的代码,从数据可以得到程序的结构。
万变不离其宗:在动手编码之前,优秀的程序员会彻底理解输入、输出和中间数据结构,并围绕这些结构创建程序。

转载于:https://www.cnblogs.com/crazyant/archive/2012/07/19/2823873.html

你可能感兴趣的文章
[javascript]Dom操作笔记
查看>>
2.在Jenkins中配置及执行 maven + selenium + testng项目
查看>>
Linux命令行
查看>>
Elasticsearch——使用_cat查看Elasticsearch状态
查看>>
php curl
查看>>
POJ 1276 Cash Machine(多重背包)
查看>>
SQL笔记
查看>>
优先队列
查看>>
mysql数据库数据乱码解决方案
查看>>
Laravel 安装predis 扩展
查看>>
P5241 序列
查看>>
P3538 [POI2012]OKR-A Horrible Poem
查看>>
Java Web中web.xml文件简单介绍
查看>>
实验报告2
查看>>
关于函数柯里化
查看>>
poj 2686 Traveling by Stagecoach
查看>>
HDU 1236
查看>>
Vue笔记:使用 vuex 管理应用状态
查看>>
菜单相关新词
查看>>
为html设置100%,body 设置100% 出现滚动条的问题
查看>>