首页 后端开发 php教程 PHP项目的“苦逼”经历与思忖

PHP项目的“苦逼”经历与思忖

Jun 13, 2016 pm 12:00 PM
nbsp next php

PHP项目的“苦逼”经历与思考

PHP项目的“苦逼”经历与思考

       PHP零基础,但由于项目人手不够的原因,被安排到一个用户“定制”项目。该项目是用PHP生成的统计数据报表。而用户又有新的3个需求,需要在已有的代码基础上完成。

      一、初识PHP

      由于本人之前没有接触过PHP代码工程,所以需要花费一点时间过一下PHP的基本语法。个人感觉C++很像,有类的定义、继承和派生,但其又比C++简化很多,没有C++C的数据类型的概念,所有数据想用什么直接声明赋值即可。并且,其字符串很强大,可以嵌套定义,是C的字符串、结构体、联合体、枚举类型等的组合体,可谓“一专多能”。

     做到对基本语法有大致的了解,一些通用函数基本是现用现查。

      二、代码结构梳理

      定制项目的特点:在已有功能相对完善的基础上,增加或修改新的功能,以达到用户的“定制”需求。需求会有《**需求说明书》可供参考。

      因为项目周期短,基本是直奔主题。期间采用了“关键字”搜索的方法,缩小代码范围。但由于代码结构甚是庞大,且“先辈”少给代码注释,整个代码的跟进进展一直很慢。没有方向感,感觉代码“跳来跳去”,又回头初始读的地方,“串不成线”。

      整个过程持续了5天,龟速前行。

       三、找准“入口”、实现功能

       从项目实现新功能或修改功能的“全景”统筹视角,要达到用户需求,需要以下几步:

       第一步:找到“代码”新增或修改的入口点,可能不止一处,可能会涉及多个PHP文件,在走读代码的过程中,对这些“可疑点”都要堤防并标注便于自己查找的记号。

       第二步:在读懂“可疑点”代码逻辑的基础上新增或修改代码,并自己反复测试,直至达到客户功能。

       第三步:形成补丁包或者增量包,提交测试部门测试,待测试无误后提供用户验收。

       第一步非常关键,往往会花去整个项目的近一半的时间。

       期间需要结合新功能的实现及已有代码框架进行思考,以找准“入口”。如,要实现报表新增数据,数据从哪而来?数据可能和mysql数据库有关,要从数据库里获取统计分类数据,已有的数据是如何获取的?新统计数据的获取是否要修改SQL语句才能达到?如何修改?这样修改前台能显示正确吗?是不是需要先后台验证?……

       四、思考

       从项目高效达成目标的角度和自己欲哭无泪的苦逼经历,特思考以下几点供跨语言开发和未来项目借鉴。

      第一、“工欲善其事,必先利其器”。

      代码初期,由于SourceInsightPHP代码支持的不好,所以用Nodepad++去读代码,其不同PHP文件代码跳转的痛苦可见一斑。后来,搜索发现其实SourceInsightPHP是支持的,网友有提供配置方法。这样,搜索关键词及代码跳转又高效了不少。再后来,从高手哪里发现,这种前台的代码实际上可以通过Subline Text2进行阅读的,试验了下,的确好用,一直用到现在。

      所以,好的代码编辑、编译工具会让你思路相对顺畅,提高工作效率。

      第二、“顺藤才能摸瓜”。

      多么复杂的代码,只要别人能写出来并且能实现功能,我们看不懂。不要“骂娘”,不要埋怨代码注释不够,静下心来花些时间去“顺藤”,去理顺代码逻辑,这样你才能逐步建立起代码框架的整体思维。

     “顺藤”一方面可以走读代码去顺,当代码逻辑非常复杂时候,可以通过打印日志的方式去打印关键函数,以此理顺代码的调用关系。两种方法结合会事半功倍。

      初期,由于时间原因,可以先徒手在本上画出流程图,供走读代码参考。待项目总结时再画出规范流程图,以备后用。

      “藤”理顺了,新增和修改代码就不会那么繁琐。之前也强调,“顺藤”的时间要远远大于“摸瓜”的时间。所以,前期要有耐心,切记浮躁。

      第三、细节很重要。

      我在修改代码时,需要往数组里新加成员。误将“dataRow”写成“dateRow”,PHP误认为是新的定义成员,并没有报语法错误。导致我在另一个PHP文件获取新增值总是获取不到。我逐步缩小范围排查,缩小至写入的区域,函数前、函数内部、函数后都新增日志打印对比。这样还是没有发现问题根源。但确认问题就出在写入部分,最后1天时间才发现问题所在,就是前面提及的拼写错误。

      其实类似的错误,一些编译环境都能通过“补全”避免掉,有的语言还会报语法错误。但细心是程序员的必备的品质,当引以为戒。

      第四、不宜贪多,一个一个来。

      项目需求多时,看到那么多的需求和为数不多的时间容易使得自己凌乱。所以,需求要一个一个去实现。不要一把抓,一把抓往往成为沙漏,只能抓住一点。一个小功能完成实现后,要知道自己的Next。如此NextNext递推下去,项目就能相对紧凑的完成。

      2014-6-18 pm20:58思于家中床前

 

作者:铭毅天下

转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/32175701

如果感觉本文对您有帮助,请点击支持一下,您的支持是我坚持写作最大的动力,谢谢!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP与Python:了解差异 PHP与Python:了解差异 Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP的持久相关性:它还活着吗? PHP的持久相关性:它还活着吗? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP和Python:代码示例和比较 PHP和Python:代码示例和比较 Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

PHP与其他语言:比较 PHP与其他语言:比较 Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

See all articles