
优雅编程
黄允聪
软件和互联网行业20年老兵,精通软件设计,微信:576521128,欢迎添加。
展开
-
一个小例子看编程的扩展性
当码农已经20多年了,从上大学开始,被人面试了无数次,也面试了很多人。从2005年以后,我就开始面试别人,发现很多程序员编程的时候,不会考虑编程的扩展性和执行效率。我自己出了一个简单的面试题,居然很多人没有给出我想要的答案,题目如下,如果你想测试你自己的能力,你也可以做一下,但千万不要看我下面的答案哟。字符串1. A1,B1,C1,C2,B2,A2,D1,D2,D32. E1,E2原创 2017-03-13 16:26:11 · 2974 阅读 · 1 评论 -
怎么做持续发展的软件
编程可以说是一个很简单的事情,也可以说是一个很复杂的事情。当我们做一个需求明确的项目的时候,会感觉编程一点儿也不难。但不幸的是,业务需求100%是不断变化的,这样导致项目后来越修改越乱,越乱BUG越多,新加入功能越来越难,这样的软件就是不可持续发展的软件。有人可能会觉得采用敏捷开发嫩解决这个问题,但敏捷开发只是一个开发的流程模型,软件是否可以持续发展关键还是软件自身的代码结构是否是健康的。软件的核原创 2017-03-14 09:46:35 · 751 阅读 · 2 评论 -
移动编程的性能监控和追踪
你会不会遇到这样的场景,一个外地用户说APP使用加载了很久,很慢,然后你们测试团队的人试试,说我这里没有问题呀,蛮好的呀,然后开发那里就犯难了,程序没有问题呀,是不是客户手机不行呀。其实APP开发其中的一个难点就是对APP性能的监控和追踪,你自己使用没有问题,不代表其他人没有问题,因为APP运行的手机不同,所处于的网络环境不同,就会导致大家遇到的问题会不同,一个好的APP必须是可以应对各种复杂原创 2017-03-14 11:18:10 · 1077 阅读 · 0 评论 -
HTTPCLIENT和VOLLEY
1. HttpClient只是一个单纯的网络请求类库,比HttpUrlConnection(ANDROIDSDK当中,Android2.3之前有问题)强大很多,可以对HTTP协议头和BODY部分进行方便的修改。 Android的SDK本身也纳入了HttpClient,但处理文件上传和下传不行,还需要使用APACHE的HttpClient。HttpClient没有处理多线程问题,使用原创 2017-03-14 13:09:48 · 816 阅读 · 0 评论 -
为什么讲国内软件开发有90%以上浪费
网上大家经常热议互联网公司的加班情况,什么阿里的996呀,小米员工把睡袋放到办公室呀。作为在软件行业干了20多年的老兵,我深深的感觉到中国的软件开发中存在的严重的浪费情况。软件设计者不了解行业需求导致的浪费,这种方向性的浪费,可能是毁灭性的,导致颗粒无收。之前,好几个杀入餐饮软件SAAS的人跟我讲,他们第一期的软件开发花了接近百万,结果拿到市场上才发现完全不能使用。我就职的一个做汽车后市场O2...原创 2019-03-27 11:02:07 · 1327 阅读 · 3 评论 -
一流程序员的成长之路
现在网上流传着35岁以后的程序员就没有公司要了,程序员变成了青春饭,这完全就是一种对程序员职业的表面理解。造成这种情况发生的原因就是一部分的天才程序员让编程变得越来越简单,让编程变得大众化了,这种编程的简单化就造就了大量的平庸的程序员,让做软件变得和搬砖一样,成了体力劳动,而不是创造性的脑力劳动。做软件的创造性在哪里呢?平庸的程序员只会解决单个问题,而且解决的这个单个问题常常又堵了后面问...原创 2019-03-27 11:06:35 · 1328 阅读 · 2 评论 -
设计模式举例-序言
很多程序员把撸代码和解决一些技术难题当作技术牛逼,往往忽略软件结构设计的重要性,而事实上,软件结构设计决定了软件的BUG率,开发和维护成本,以及软件的生命周期,设计不好的软件,很容易就进入了技术债高起的进退两难的沼泽地。越是逻辑复杂需求多变的软件,越是需要关注结构设计,而设计模式真是软件结构设计的核心思想,就和打仗的孙子兵法一样重要,但真正掌握并且灵活运用却是非常非常困难的事情。网上有很...原创 2019-03-27 11:18:48 · 408 阅读 · 0 评论 -
设计模式举例-结构型
结构设计模式行为设计模式处理的是动态的事务,结构设计模式处理的静态的结构。Adapter(适配器模式):GUI框架当中,listener接口一般都会提供一个Adapter实现,接口实现者应该直接继承Adapter,而不是实现接口,好处是啥呢?因为很多时候,用户只关心部分事件,例如关心mouseClicked事件,如果直接实现接口会导致很多空方法产生,代码维护和美观度都不好,继承Ada...原创 2019-03-27 11:42:48 · 405 阅读 · 0 评论