设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

如何开发不可维护的软件?

2013-10-25 11:13| 发布者: joejoe0332| 查看: 5592| 评论: 0|原作者: 伯乐在线|来自: 伯乐在线

摘要:   我从别人遗留的的技术性债务中获得报酬。在我的日常工作中,我见到了很多难以维护的代码,并且我一次次地看到了很多相似的并可以避免的问题。   我专门从事调试、修改、维护、扩展遗留软件系统这类工作,我的 ...


  增加对特殊版本的库和资源的依赖


  尽可能的加入第三方代码,在你需要时链接尽可能多的共享库。我曾经见过依赖于很大的外部库文件只为了使用其中一个函数的代码。修改第三方库文件源代 码,这样就可以保证在有新版本出现时,那些第三方库就不会自动更新,但不要把你修改的版本置于版本控制中,我会用diff命令比对你的版本和最原始版本, 并发现其中不同的。

 

  ……但是不要保护或者编写依赖性说明文档


  因为更新和升级错误给我打紧急电话的,是所有工作电话中最多的。一个看似无害的WordPress升级,Linux包更新,或者新的jQuery发 布将会引发一系列的错误。不要让你的代码自动检查特定版本或者你修改的外部资源副本或者第三方库文件,甚至不要添加注释以提醒你自己。

 

  使用一坨不同的编程语言,跟上潮流


  每天HackerNews和Reddit都会对一些新又酷的编程语言唧唧歪歪,在你为客户编写软件时就可以试用那些语言。任何牛逼的程序员都应该瞬 间学会一门编程语言,所以如果继续承接你代码的程序员是个菜鸟那不是你的问题。不同语言的边界、不兼容的API和数据格式、不同服务器配置需要等,都是很 有意思的挑战,把这些贴到SackOverflow秀一下也是怪牛逼的。我确实看到过PHP网页中嵌入Ruby代码,因为每个人都知道PHP烂透了而 Ruby好太多。半生不熟的项目,中止的Rails和Node.js项目,尤其是NoSQL解决方案(这个伸缩性更强)都是我的菜。

 

  编程建议:


  你的代码是否是完美面向对象并闪闪发光的,这没什么鸟用。当程序员不得不维护一个遗留系统时,他们几乎总是看到意大利面条式的代码。我很擅长使用 diff、grep和ctags等工具追踪代码、重构、调试,我终究会搞明白你的代码。如果不使用版本控制软件、代码有太多依赖和定制、没有测试/分层平 台,那些最漂亮优雅的代码依然非常难搞。这就像在满是囤积物的房子里,找一个装饰漂亮、干净的房间一样,就算找到了,有啥鸟意思?


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部