重构是程序员的一种美德
所有的程序员都难免会和旧的程式码打交道,然后所有人都觉得痛苦和折磨,因为所有的旧程式码都是垃圾,包括我自己以前写的东西,都是垃圾,无药可救的垃圾,有毒的放射性废弃物
很多年轻人第一个念头就是重写,结果因为各种原因,重写的程式码不能用,而且还因为这些不能用的程式码导致更严重的工作堆积,于是需要加班,加班导致的压力让你更没有办法专心解决程式问题,最后在deadline的时候,交付失败,或是给出有问题的程式码,结果倒霉的还是程序员
我看了很多关于程式码风格,代码大全,程序员技巧的书,这些东西都很好,对新手非常有帮助,不过如果要在里面挑一个最适合初学者学习的书,我推荐一下重构这本书
重构可以解决的问题非常多,因为程序员在开发过程里面会因为无数的理由,无法写出完美的程式码,只能得到堪用,甚至有毛病的程式码,而且常常没有文件,没有注释,命名混乱,甚至几千行代码就放在一个超级函数,用来处理无限复杂的逻辑,还有非常多族繁不及备载的问题,然后新人接手以后就是死路一条,很多老系统就是这样,完全没有办法处理
而重构是唯一能让你理解旧程序逻辑,甚至在旧程序上面进行改进,而不需要重新写一遍代码的方法,除了重构以外,上面说的情况只能重写,而重写的结果如何?只能交给上帝,什么人都帮不了你,连你的老婆都不可能理解你的困境
重构需要很多条件,好的IDE,好的版本管理,好的单元测试,好的习惯,这些东西都是程序员的基本,没有这些东西,你的程式大概很难有什么未来,也没有可能完成任务,如果你还不知道这些东西是什么,赶快Google一下视频,对你的生存和工作有绝对的帮助
有了上面的条件,你就可以把旧程式码整理干净,整理程式码和整理房子一样,房子不整理,虽然房子还是房子,但是你可能找不到里面的东西,房子里面会有蟑螂,有老鼠,而你却不知道怎么打死这些虫子和解决老鼠,而整理过的房子就不一样,所有东西分门别类,所有的污秽无所遁形,蟑螂老鼠没有生存空间,虽然房子还是那个房子
重构是一种整理程式码的习惯,这种习惯比什么技巧都重要,比什么框架都可靠,什么新技术,什么新语言,今天学会了,明天可能就被淘汰了,就算是IBM还是微软都可能消失,但是整理程式码的习惯永远都不会落伍
我不想说太多重构这本书里面的内容,毕竟阅读文件是程序员的基本功,连这个都做不到的人,没资格写程式,我只是提供一个方向,因为程序员坐在电脑面前的时候,全世界只有Google和你的经验可以帮助你,再没有人可以替你写程式,所以程序员都是孤独的,所以更要好好整理程式码,因为那是程序员的领地,程序员就是代码的国王,容不得一点瑕疵