文档章节

我的成长记录(一)

dtqq
 dtqq
发布于 07/21 06:37
字数 1080
阅读 8
收藏 0
	今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起来了。 
	最近开发一个hybrid参数校验框架,在实际开发过程中遇到了一些问题,细细想来这些问题其实都是由于自己对于编程的思想认识不够而使自己的思想局限在了某一个瓶颈。
	1、面向对象与面向过程
	虽然不愿意承认,但是事实如此。自己对于面向对象的把握还不到位,在实际开发过程中总是会处与面向过程编程。这样的编程方式,“不”,应该是这样的编程思想给自己带来了许多痛苦和烦恼,开发效率低下。为什么这样说?第一点,面向过程编程根本原因是自己先从实现逻辑的过程中得出一个结果,然后在用结果进入下一个实现逻辑过程。这样看好像没什么问题,编程本来就是这样的。实际上问题很大,因为你从过程推结果,这样一步一步逻辑实现完成后,让别人看的时候是非常不容易理解的。其实这种干讲是比较抽象的,不太容易理解。一般只有你经历过之后回过头再看才会恍然大悟,打个比方,你爬一座崎岖不平、蜿蜒曲折的小山,在你爬山的过程中是非常费劲而且对下一段转弯之后的路是不明朗的,当你爬到山顶在回头向下看的时候你才会清晰的看到你所走过的路是怎样的曲折。不识庐山真面目,只缘身在此山中大概就是这个意思。这是第一点面向过程让你开发逻辑很痛苦。第二点,多人合作开发,提交代码时代码冲突可能会很严重。这个点不多说大家应该自由体会。那么面向对象开发为什么我认为会比较友好的解决这两个问题呢?首先第一点,让开发过程不在痛苦。“既然是面向对象,那一定是先定义一个输出结果,然后通过输出结果去实现过程”,虽然这句话说起来很简单而且我们平时开发过程好像也都是这样做的,但其实真正的难点就是这一句话,往往由于我们定义这个输出结果不精准到位而导致我们后边编程逻辑实现慢慢偏向了面向过程。这个没什么解决的办法,全凭自己的逻辑思维能力了。其实我觉的我自己逻辑思维能力也不是很有条理,哈哈,还是分享一个小办法供大家参考吧;面向对象其实就是面向结果,把这种思想类比到我们实际生活解决问题的思想试试看,哈哈好像和没说一样!第二点,如何较好的使多人开发提交代码时冲突不严重,既然已经面向对象了,那把我们每个输出结果的方法或者是功能模块代码单独拎出来或者是怎么封装、设计,根据情况。这样即使发生了代码冲突也只是我们的输出结果那块导致了冲突,解冲突也很好解不是吗。
	讲实话,这些道理可能大家都懂,但每个人实际操作起来最后的结果可能就是千差万别了。

© 著作权归作者所有

共有 人打赏支持
dtqq
粉丝 1
博文 15
码字总数 12993
作品 0
朝阳
【Diary Report 2017-12-17】产品和行为规范的一些事

diary_report.jpg What did you do today 今天花了一下午和一晚上的时间写完了公司的产品和行为规范考核试卷。让我对公司的产品的认识越来越清晰化,对行为规范制度也更加深刻了。产品的理解...

cmazxiaoma
2017/12/17
0
0
TODO:这是一个我的自媒体

TODO:这是一个我的自媒体 自媒体(外文名:We Media)又称“公民媒体”或“个人媒体”,是指私人化、平民化、普泛化、自主化的传播者,以现代化、电子化的手段,向不特定的大多数或者特定的单...

OneTODO
2016/12/04
3
0
007-第八篇-运营之光读后感下

图书封面 0、作者介绍 黄有璨 互联网运营从业近10年,曾先后就职于美国About.com、第九课堂、新浪微米、周伯通招聘等互联网公司,历任运营经理、COO助理、COO等职。现任互联网在线学习社区三...

韬声依旧在路上
2017/10/21
0
0
react native 使用code-push热更新代码遇到的问题

前言:这是我的第一个博客,其实在2015年底的时候,就打算多写一些博客,只为记录自己的成长,而且我的记性很差,过几个月,自己写的代码自己不记得了,所以,遇到问题,记下自己的解决思路是...

炼心咒
2016/03/31
833
0
第三小组五月份第四次成长记录链接

一、写作社群介绍 7天1篇写7年,7年后,和一群人去南极;通过输出倒逼输入,用小而美的进步迭代精进,打造个人品牌。 二、成长记录链接 刘婷婷 - 一个巨坑的专车司机带给我的小确幸 https://...

韬声依旧在路上
05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SAP不同的产品是如何支持用户创建自定义字段的

我们从SAP CRM,Cloud for Customer(简称C4C)和S/4HANA这三个产品分别来看看。 SAP CRM 我们使用所谓的Application Enhancement Tool(AET)来创建扩展字段。首先在Personalize里将Configu...

JerryWang_SAP
21分钟前
3
0
Vue-Element-Upload

记录一下文件上传封装Js 代码示例 封装:uploadFile.vue <template> <el-upload v-model="attachment" ref="upload" class="upload-demo" :action="uploadUrl" ......

华山猛男
28分钟前
2
0
AWVS破解及使用手册

1.安装 因为是windows软件,比较简单,此部分略: 破解插件下载: 链接: https://pan.baidu.com/s/1x9LK9F3KvqDgTvXDjoSZnQ 提取码: 7k4u 2.创建扫描目标 2-1.Targets->Add Target 2-2.对话框...

硅谷课堂
30分钟前
1
0
Centos 7 安装Zabbix 3.4

Zabbix 3.4 支持Centos 7。貌似不支持6.9. 更多详细内容请参考官方说明文档,详细的安装要求不贴出来了。 https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirements 虚...

linjin200
36分钟前
0
0
阿里云数据库HybridDB for PostgreSQL使用教程

云数据库HybridDB for PostgreSQL(ApsaraDB HybridDB for PostgreSQL)是一种在线MPP大规模并行处理数据仓库服务。云数据库HybridDB for PostgreSQL基于Greenplum Database开源数据库项目,...

mcy0425
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部