随笔分类 -  代码艺术

提升代码质量
摘要:面向对象程序设计是软件开发中一个很庞大很复杂的话题,它并不是仅仅学会类、继承、封装、多态这些面向对象编程语法元素就表示掌握的,这些语法元素只是实现面向对象程序的工具, 就像砖块、水泥能搭建小屋,也能造高楼大厦,然而在这里重要的不是砖块水泥,而是其它因素。所以,利用面向对象技术写程序,语法元素不是关键 阅读全文
posted @ 2018-05-07 09:06 陈宏鸿 阅读(498) 评论(1) 推荐(1) 编辑
摘要:MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性、可移植性,代码的可重用性。 MVC即Model、View、Controller即模型、视图、控制器。我在和同行讨论技术 阅读全文
posted @ 2018-04-16 08:59 陈宏鸿 阅读(6120) 评论(13) 推荐(6) 编辑
摘要:有一套web系统,会部署到不同的服务器上分别运行,这套系统类似于市面上的OA系统一样, OA开发商会给不同的企业客户部署一套独立的互不关联的系统,我维护的这套系统也差不多,分别被部署在互不关联的服务器上,当然,这些系统的代码是同一套,功能也都是相同的。 前两天,有客户反馈,他们系统的某个功能无法正常 阅读全文
posted @ 2018-04-12 14:42 陈宏鸿 阅读(912) 评论(4) 推荐(1) 编辑
摘要:记得以前接手过一个Java项目,服务器程序,直接让Jar在linux上跑的那种, 这个项目由两个web服务组成,也就是两条Java进程,主进程 xxx.jar,辅助进程 xxx_helper.jar。主进程程序中某些功能依赖于辅助进程提供的服务。 困扰我们的BUG是在生产环境中辅助进程xxx_hel 阅读全文
posted @ 2018-04-03 09:30 陈宏鸿 阅读(8117) 评论(32) 推荐(20) 编辑
摘要:事情是这样子的,前不久接到一个需求,为一个游戏开发礼包码功能 通常一款游戏运营期间会搞各种各样的活动吸引玩家,其中最常见的就是发放礼包, 玩家可以通过礼包码兑换礼包。 用礼包码兑换礼包有个一限制,游戏运营商不会让玩家无限制兑换, 针对某一次发放礼包的活动,一个账号只能兑换一次, 即使玩家手上有多个礼 阅读全文
posted @ 2017-11-01 09:13 陈宏鸿 阅读(7046) 评论(26) 推荐(5) 编辑
摘要:提起 var关键子,程序员的第一反应就是JavaScript, 事实上这个关键子在其他语言中也有被采用。 比如说C#, 比如说kotlin, 用法和JavaScript中使用差不多,作为要声明变量的前缀 在其他语言中也有与var作用类似的关键字,比说C++中的auto,比如TypeScript中的l 阅读全文
posted @ 2017-10-24 10:06 陈宏鸿 阅读(1301) 评论(3) 推荐(3) 编辑
摘要:上面的数据存放着一组人员姓名、年龄、性别相关的信息。 现在有一个需求, 获得年龄20岁以上,性别为女的人的姓名。 看到需求后, 很多人脑袋中产生的解决方案可能是这样的 代码执行的结果是[“夏香”,“秋香”] 很好,结果正确,考试的话肯定给满分。 但是这种实现方法有点过时,不潇洒,现在流行的做法应该是 阅读全文
posted @ 2017-10-09 09:33 陈宏鸿 阅读(1601) 评论(2) 推荐(2) 编辑
摘要:说一个人, 如果是写代码的, 又爱上知乎逛逛, 应该知道他 简单的介绍下这个人。 他姓龚,年龄应该在八零后,八五前这个范围, 现在在微软工作,图形学领域。 他技术很牛逼, 牛逼到我们普通的程序员终其一身也没有办法到达他的境界。 普通程序员都是大学开始接触编程技术的,而他在小学时就开始编程了,高中毕业 阅读全文
posted @ 2017-09-21 10:09 陈宏鸿 阅读(6136) 评论(46) 推荐(30) 编辑
摘要:今天开始着手开发一个android项目。 我曾经有过几个android项目的经验, 但近些年一直在跟服务器相关的程序打交道, 开发客户端那一套技术都快忘记光了。 所幸, 我的脑子里对于android开发相关的细节还有淡淡的印象,加上参考我以前写的项目的代码, 整个app技术核心相关的结构已经快被我拼 阅读全文
posted @ 2017-08-15 09:33 陈宏鸿 阅读(1036) 评论(9) 推荐(3) 编辑
摘要:在JavaScript或php之类语言, 因为不支持元组, 严重影响了编程体验和代码可读性,用过从语言层面原生支持元组语法的语言后, 才会觉得不支持元组的语言真的low到了家,元组真的是编程语言中不可多得的优良特性。 元组最重要的特点是用来实现多值返现, 对于天生就支持多值返回特性的语言, 如gol 阅读全文
posted @ 2017-06-05 10:52 陈宏鸿 阅读(3480) 评论(0) 推荐(2) 编辑
摘要:为解决工作中一些繁琐的问题, 写了一个GUI程序, 操作界面是这个样子的 这个程序的实现起来并不是非常的繁琐, 但在界面的交互操作上, 也不仅仅只是展示数据。 如上面图片所见,列表中的每一条记录每一个数据项都需要可以填写和选择; 需要添加和删除记录;还需要调整记录的位置;向上移动、向下移动;要实现这 阅读全文
posted @ 2017-05-22 09:06 陈宏鸿 阅读(1388) 评论(2) 推荐(1) 编辑
摘要:软件开发是一种特殊的职业,特殊到有点匪夷所思,行业从业人员的工种分类非常的不稳定, 比如说古时候有C工程师、C++工程师、VB工程师,后来有了Java工程师、.net工程师、php工程师, 再后来又有了前端开发工程师、nodejs工程师、 golang工程师、python工程师什么的, 反正每隔个几 阅读全文
posted @ 2017-05-19 09:07 陈宏鸿 阅读(6981) 评论(41) 推荐(1) 编辑
摘要:写测试代码这种事情 ,以前只在网上和书上看到过, 自己从来没有写过。 每当看到那些世界顶级程序员编写的技术书籍中出现“测试用例”“测试代码”的字样或者一些行业的鼎鼎大名的技术大牛们提及写测试的重要性的时候,我的心里就会产生一种自己编的一定是假程的错觉, 为什么我写代码就从来不用那玩意? 就拿开发一个 阅读全文
posted @ 2017-05-08 09:15 陈宏鸿 阅读(4530) 评论(4) 推荐(10) 编辑
摘要:清明节放假前工作最后一天,协助同事解决了一个BUG,这个BUG对于所属的程序而言,可以说不是痛不痒,完全不影响使用,只是看起来有点变扭而已。然而, 对我而言, 解决这个问题的思路却是比较有代表性的,颇有一种曲线救国的味道。 事情大概是这个样子的。有需求部门反应,我们部门负责的某个项目的页面上数据显示 阅读全文
posted @ 2017-04-19 09:21 陈宏鸿 阅读(20611) 评论(152) 推荐(127) 编辑
摘要:公司有一个Web Service,访问量不大, 但也不算小, 每天几百万的量级。正常情况下, 平均每个请求响应的时间在200毫秒左右。 每天几百万的访问量, 那么程序每秒请求处理数量在几十个左右, 高峰期也就上百, 而服务器上php处理请求的进程数是大于这个数的,因此, 服务器的处理能力勉强能满足当 阅读全文
posted @ 2017-04-17 09:21 陈宏鸿 阅读(7695) 评论(40) 推荐(20) 编辑
摘要:因为一个BUG, 我在一个摇摇欲坠,几乎碰一下就会散架的项目中某一个角落中发现下面这样一段代码 这段程序与那个BUG有密切的关系。 我来回反复的捉摸这段代码, 发现这段代码实现了两个功能 第一个是在一个从数据库中读取的列表数组中找出某个值是最大的一条记录, 并且把这个最大的值和跟这个值相关的时间给取 阅读全文
posted @ 2017-04-06 09:22 陈宏鸿 阅读(2649) 评论(1) 推荐(2) 编辑
摘要:「信息隐藏」在软件开发领域中是一个非常重要的核心要点, 它的另一个名称叫做「封装」, 但是因为现代面向对象技术流行的原因, 「封装」似乎已被视为和private是等价的, 这就导致了封装的含意并不那么准确了, 事实上它的使用范围在代码的编写中无处不在, private只是封装的其中一项用途而已。 因 阅读全文
posted @ 2017-03-31 09:01 陈宏鸿 阅读(2657) 评论(0) 推荐(3) 编辑
摘要:元组在计算机领域有着特殊的意义,这个名字听起来似乎有些陌生, 平时在写代码也基本没什么应用场景, 然而, 出人意料的是, 元组跟程序设计密切相关, 可能有的同学不知道, 关系数据库中的「纪录」的另一个学术性的名称就是「元组」, 一条记录就是一个元组, 一个表就是一个关系, 纪录组成表, 元组生成关系 阅读全文
posted @ 2017-03-30 13:29 陈宏鸿 阅读(37388) 评论(5) 推荐(6) 编辑

点击右上角即可分享
微信分享提示