文档章节

我的成长记录(一)

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

© 著作权归作者所有

共有 人打赏支持
下一篇: TCP/IP详解
dtqq
粉丝 1
博文 15
码字总数 16298
作品 0
朝阳
私信 提问
TODO:这是一个我的自媒体

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

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

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

韬声依旧在路上
2017/10/21
0
0
【Diary Report 2017-12-17】产品和行为规范的一些事

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

cmazxiaoma
2017/12/17
0
0
react native 使用code-push热更新代码遇到的问题

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

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

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

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

没有更多内容

加载失败,请刷新页面

加载更多

初探Spring Cloud(一)

1. 什么是Spring Cloud? Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,...

__HuWei
10分钟前
0
0
Mac配置ssh免密钥登录

Mac终端每次使用ssh -p 22 user@ip登录很是麻烦,下面介绍配置ssh免密钥登录: cd ~/.ssh下创建conf文件,写入以下配置: Host test HostName ip Port 22 IdentityFile /Users/t/key/test.p...

littlemesieV
25分钟前
1
0
Spark2.0操作ES

ES提供了支持包来方便的操作ES。首先添加ES的依赖maven: <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch-spark-20_2.11</artifactId> <version>6.2.0</ver......

守望者之父
27分钟前
1
0
专业术语

1、防御性编程 DruidDataSource类有一个init方法,我们在spring中配置druid时,都会指定 init-method='init'. 而且DruidDataSource也在其他地方,诸如getConnection()方法里作了防御性编程, 也就...

still5656
29分钟前
1
0
微信开发--测试账号相关

1、微信公众平台选择代码开发后,其平台上的部分功能会不可用 可在开发者工具中选择开通测试账号,进行相关的功能调试(测试账号出微信支付不可调试外,其他功能基本上都可以调试) 2、测试账号...

Code辉
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部