`
chyi0425
  • 浏览: 6634 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

代碼重構,你所不知道的二手代碼

 
阅读更多

 

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ivantian2008.blog.51cto.com/622133/912246
转载自 51cto 
田皓宇的博客

    昨天好友愛飛翔童鞋關心的詢問道:伊凡,今天的工作如何,bug改的還算是順利嗎?我比較模棱連科的答到:還行吧。之後簡單的"抱怨"了幾句。之後我們就開始一起在Cacoo行進行"切肉"了.下圖就是二人用了三分鐘不到的時間,構建了一個所謂“項目代碼維護”,如下圖:

很形象的說明了,當一個人去維護別人的代碼的時候,重構的重要性,以及涉及的主要步驟。今天翻閱了維基百科和一些比較著名的開源社區,技術社區,以及看了大牛的一些博客,才發現能夠將二手代碼重構,在一定程度才能反應出來一個程序員的基本功是否欠缺。重構裏面所涉及的基本上都是最基本的知識點,比如函數,類與對象,封裝,提取方法(函數),方法更名等等。但是完成這些更需要明白整個數據的流向與整個軟件所實現的功能。因為"牽一發而動全身",這是這些天維護項目代碼所得到的最大體會。

因為面對二手代碼,你懂的,首先你要了解別人的思想,你要逐條逐句讀懂每條語句的含義,變量,數據流向等等。或許在很多人看來這樣的工作沒有啥挑戰性,只是簡單的Ctrl+C,Ctrl+V,Ctrl+Z之類就可以,有時候在用BeyondCompare之類的工具就好了,哈哈這些都很有意思。只要你懂基本語法就足夠應付了。正如上面的所述,重構別人的代碼,還是需要點技術含量的。

所以,解不出來bug,不悲;實現了,不喜。因為,我動不動,代碼就在那裡。

其他的就不多講了,找點空閒,找點時間,將小翔推薦的一部有關軟件重構的書籍《重構》讀讀,詳細可以參見鏈接:http://book.douban.com/subject/1229923/

多讀些技術上的好書,少發些牢騷。多沉靜會,多思考。讓自己的內心充實起來,才能夠獲得自己想要的真正的 Free 與 感覺。

記得一個幫的幫主說過這樣一句話:做個吃貨,做個白癡,他成功的給億萬人洗了腦,因為做個吃貨:要去大量的咬一口蘋果;做個白癡,這樣你才好被忽悠,買他的蘋果.......喬幫主不虧是大忽悠,結果他仙逝了,他的傳記還是那麼的瘋狂,生前刷大家的銀行卡,死後刷大家的電腦屏幕。好吧,他成功的改變了世界。現在他在天國啃著蘋果笑呢,對上帝說:親,當年亞當和夏娃吃了蘋果,才讓人類有了罪。再後來,牛頓被蘋果狠狠的砸了頭,他也成功的改變了世界。後來就是....."上帝說:那好吧,你想回家嗎?

 

分享到:
评论

相关推荐

    ASP网上二手商品交易管理系统的设计与实现(源代码+论文).rar

    可能在源代码中,部分功能或者重构部分采用了ASP.NET技术,例如使用C#或VB.NET作为编程语言,或者利用ASP.NET的控件和框架来简化开发。 在压缩包内的"a.txt"文件,可能是系统的设计文档、数据库结构、关键代码片段...

    二手交易平台.zip

    单元测试在项目的开发过程中扮演着重要角色,它能够在不断重构和优化代码的同时,保证原有功能的正确运行。 项目的部署可能通过Docker容器或者传统的Tomcat服务器来完成。在现代开发环境中,Docker的使用越来越多,...

    基于Vue+TypeScript的二手书交易平台前端设计源码

    TypeScript则通过为JavaScript添加静态类型定义,增强了代码的可读性和可维护性,同时提供了更强大的开发工具支持,比如自动补全、重构和调试等。 本项目包含了28个Vue组件,这些组件是构成前端界面的基础元素。...

    基于SSM的二手商城系统(前后端分离)

    综上所述,"基于SSM的二手商城系统(前后端分离)"项目结合了多种技术,不仅能够锻炼开发者的技术实践能力,也为用户提供了便利的二手商品交易体验。通过深入理解和实践这个项目,可以巩固和提升Java Web开发的相关...

    体系结构学习代码!特别详细丰富

     【附加例4.1】利用中介者模式进行重构的实例  【附加例4.2】利用策略模式设计的相同数据的不同图表显示的实例  【附加例4.3】利用状态模式设计的天气状态软件  【附加例4.4】利用状态模式设计的中国个人...

    基于Java、HTML、CSS、JavaScript的mySSM二手交易平台源码优化设计

    对于后端的Java源文件和XML配置文件,通过代码重构和逻辑优化,增强了代码的可读性和系统的可维护性,同时也提高了数据处理的效率。 本项目还考虑了平台的安全性,对潜在的安全风险进行了评估和防护。例如,加强了...

    微信小程序二手平台 2024免费JAVA毕设

    Idea即IntelliJ IDEA,是由JetBrains公司开发的一个商业化的Java集成开发环境,它以其智能的代码补全、代码分析和重构功能而闻名。VSCode则是微软推出的一款免费、开源的代码编辑器,支持多种编程语言,具有轻便、...

    基于web的二手闲置交易系统源码(java毕业设计完整源码).zip

    而IntelliJ IDEA是一个更为智能的Java集成开发环境,它支持代码自动完成、重构、代码分析等高级功能,可以显著提升开发效率。 压缩包内的文件名称列表显示,源码被分成client_code(客户端代码)、manage_code...

    ssm框建-二手书商城

    IDEA(IntelliJ IDEA)是一款强大的Java集成开发环境,提供了代码自动补全、调试、重构等一系列强大的功能,极大地提高了开发效率。在这个项目中,IDEA被用来编写和管理整个项目的源代码。 JavaScript作为客户端...

    校园二手物品交易平台微信小程序的后台管理系统,开发工具:IDEA;后台管

    IDEA具备代码自动完成、重构、实时代码分析等特性,极大地提高了开发的准确性和效率。 在实际开发过程中,后台管理系统需要处理多个关键模块,包括用户管理、商品管理、订单管理、评论管理等。用户管理模块负责处理...

    SpringBoot+Vue二手车交易系统答辩PPT.pptx

    然而,系统的完善是一个持续的过程,目前存在的不足主要是代码冗余,这需要通过重构和优化来进一步提升代码质量,减少资源消耗。此外,随着技术的发展,未来可以考虑引入更先进的前端框架(如React或Angular)和后端...

    校园二手交易平台 2024免费JAVA微信小程序毕设

    IntelliJ IDEA以其智能化的代码辅助和重构功能而著称,而VSCode则以其轻量化和插件丰富而受到开发者的青睐。此外,微信开发者工具作为小程序开发的标准环境,为小程序的开发和调试提供了极大的便利。 项目中所包含...

    校园二手交易平台 2024免费JAVA毕设

    IntelliJ IDEA是一个专为Java语言打造的集成开发环境(IDE),它提供了代码自动完成功能、重构以及集成的版本控制工具等,而Visual Studio Code则是一个轻量级但功能强大的源代码编辑器,它支持多种编程语言,具有...

    基于SpringBoot的二手奢侈品交易系统设计与实现.pdf

    3. **IDEA开发工具**:IDEA是Java开发的主流集成开发环境,以其丰富的功能如代码自动提示、分析、版本控制工具集成、重构和GUI设计等,极大地提高了开发效率和代码质量。 4. **系统实现功能**: - **用户模块**:...

    毕业设计&课程设计&毕设&课设-java-二手交易平台网站

    而IntelliJ IDEA则以其智能代码助手、代码自动完成功能和重构工具而受到许多专业Java开发者的喜爱。两者都是业界公认的强大开发工具,可以提高开发效率,加速项目开发进程。 本项目通过使用Java语言结合SpringBoot...

    基于ASP的某学校校园BBS的设计与实现(源代码+论文)

    6. 性能优化:ASP应用需要考虑服务器性能,通过缓存策略、数据库查询优化、代码重构等方式提高系统响应速度和并发处理能力。 7. 论文撰写:附带的论文可能涵盖了系统的需求分析、设计思路、技术选型、实现过程、...

    基于java的学生二手书籍交易平台的开题报告.docx

    代码冗余会影响系统的运行效率和维护难度,需要通过代码重构和优化来解决这一问题。 3. 后台管理功能的完善性。由于开发资源限制,需要进一步完善系统的后台管理功能,提升管理效率和系统可控性。 研究工作计划: ...

    基于javaSE的二手车交易系统 JUST software engineering Project_1 2021.12

    - **Eclipse或IntelliJ IDEA**:集成开发环境,提供代码调试、重构等功能,提高开发效率。 7. **软件工程实践**: - **版本控制**:如Git,用于协同开发和版本管理。 - **代码规范**:遵循一定的编码标准,如...

    333ASP.NET二手汽车交易.zip

    MVC模式提供了清晰的代码组织结构,便于开发和测试,而Web Forms则为快速开发提供了便利,通过事件驱动的编程模型。 在这个二手汽车交易系统中,我们可能会遇到以下几个核心功能模块: 1. 用户管理:包括用户注册...

    【java毕业设计】基于 Javaweb 的二手图书交易系统源码(springboot+vue+mysql+说明文档).zip

    IntelliJ IDEA以其智能化的代码补全、重构、以及单元测试等功能深受Java开发者的喜爱;而Eclipse则因其开源和插件系统的灵活性被很多开发者所使用。不同的开发工具可以根据个人喜好和项目需求灵活选择。 从文件结构...

Global site tag (gtag.js) - Google Analytics