打印

我的代码简史-续(续)

[复制链接]
1458|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2020-4-10 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

突然发现很多年前的帖子


代码简史
我的代码简史:楼主从单片机coder到嵌入式programer的简单历程
我的代码简史(续)

很是感慨,于是从刚刚的一个帖子说起:
【原创】一个可以运行在单片机的内存数据库

继续聊一聊代码。

https://github.com/smtp-http/ucomlib.git
欢迎star,fork。。。


这几年C++用的比较多:https://github.com/smtp-http/dispatcher,有时候golang也会被经常使用 https://github.com/smtp-http/tiango,用python做人脸识别:https://github.com/KevinZu/facecloud
或者java没有UI的项目。


我觉得应该抽空再整理一下代码的心得

使用特权

评论回复
评论
21ic小喇叭 2020-4-13 14:14 回复TA
感谢分享,奖励您100家园币 
评分
参与人数 1威望 +15 收起 理由
tyw + 15 赞一个!

相关帖子

沙发
keer_zu|  楼主 | 2020-4-13 15:21 | 只看该作者
这几年最大的体会是,代码嘛,一定要简单一点,不要被形式的东西束缚。
比如这些年一直在学习敏捷,学习面向对象。
敏捷的原则:开闭原则,里氏替换原则.....
面向对象的设计模式:工厂模式,抽象工厂,观察者模式,装饰模式....

尽量以测试为驱动的开发方式...

等等,尽肯能得套用,也有思考。既发现这些代理的便利,也发现形式让简单的问题复杂了,反而增加了阅读难度。
搞得太形式也往往很难“下笔”,继而影响开发的效率。

遇到的每种问题都有人尝试去解决,办法总比问题多。


....................................................................




越来越觉得凡事从简的好处,简单不等于粗糙,也不等同于简陋。
代码简单一点的前提是目标非常明确:
1. 你要呈现给用户的是什么

2.为了做到这些,你要完成那几个基本功能,要能拆分成几个组成部分。
3. 不要贪多求大,以实现最基本功能开始。
4. 不停优化和重构。



使用特权

评论回复
评论
chunyang 2020-4-13 15:27 回复TA
是需要不停的优化和重构。 
板凳
keer_zu|  楼主 | 2020-4-14 09:46 | 只看该作者
要敢于对自己的代码下手,不要安于现状,代码有不尽人意的地方,在项目攻坚过后的间歇期就要抽空去重构,重构既有目标性的重构,也有原则性的重构。


目标性的重构主要是某些子功能的封装,代码的布局,性能的优化,耦合的解除等等。解除过多的依赖,增加代码的可读性,可扩展性。
原则性的重构主要是针对过长的函数,某个函数过多的参数,过大的类,要让对功能的扩展或者修改操作尽可能改动最少地方。减少功能重复的地方,增加复用性等等



重构过程不是想象中的痛苦和枯燥的,应该是成长的捷径。

使用特权

评论回复
地板
HWM| | 2020-4-14 10:21 | 只看该作者
“简单”不等于“清晰”。

软件工程,“清晰”很重要,这不仅体现在其构架上。

其实,做任何一件事情,都必须要有清晰的“思维”。

使用特权

评论回复
5
keer_zu|  楼主 | 2020-4-14 10:23 | 只看该作者
HWM 发表于 2020-4-14 10:21
“简单”不等于“清晰”。

软件工程,“清晰”很重要,这不仅体现在其构架上。

是的,简单的前提是清晰。
简单主要是针对很多码农过于形式化带来的不必要的复杂性而言的。

使用特权

评论回复
6
baoyingbin1989| | 2020-4-14 12:02 | 只看该作者
讲的挺好的

使用特权

评论回复
7
keer_zu|  楼主 | 2024-5-10 10:41 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1352

主题

12436

帖子

53

粉丝