本文分析讲述了PHP代码维护,重构变困难的4种原因。分享给大家供大家参考,具体如下:
代码维护,重构是件很令人不爽的一件事。以下几种情况,会让代码维护和重构变得很困难。
1. 项目开始时,大家规定好一些代码规范,在一定的规范下进行开发,但是人的思想是不一样的,也就是说每个功能不同的人实现的逻辑可能会有这样那样的不同,导致了一些人不愿意去看别人代码,要改别人代码,首先要了解这个人当时是怎么想的,他的逻辑是怎么样的。所以有很多人的想法是有那看别人代码的时间,我就重新做好了。这种想法不要有,看别人代码也能学到不少东西。如果都这样想,我想冗余代码会越来越多,后期重构会变的越来越困难。
2. 做程序的一般跳槽都比较频繁,项目开始的时候,是5个人(项目创始人)开发的,等项目上线了,可能有人离职了。人手不够,公司招人。项目创始人呢,对新招的人,不太信认,怕修改原代码会导致上线的功能出问题,所以就出了新规定,最好不要修改上线过的程序,如果需求变动,最好重新写class或者是function,这样的话,代码会变的越来越多。可能会出现几个class都差不多,或者多个function的功能差不多。
3. 数据库冗余字段,冗余表过多,也会让代码维护变的十分困难。因为功能优化,或者新需求,导致原有表结构根本不能满足新需求,这个时候,就会去表里添加字段,或者挂接另一个表,长期以往,数据库变的很臃肿,数据库一大,代码肯定就不用说了,程序都是围绕着数据来的,冗余字段,冗余表都要维护的,不然数据就不统一了。必要的冗余可以减少数据库查询,如果过多,只会事得其返。所以在修改数据库时更要考虑清楚,考虑将来数据库和代码要重构的情况。
4. 个人原因是最主要的原因,首先要有分块思想,也可以说是oop思想,这种思想是在实战中养成的,这个是要一定时间的。不要为了急着去实现功能而忽视了整体考虑。假如来了一个新需要,我会首先考虑怎么实现这个需求,有了思路后,我也不会急着去开发这个功能,我还会在考虑这个功能模块,会不会用在其他地方?如果其他地方用,怎么样让其他地方用着更方便。我会让所以调用这个功能模块的地方,接口只有一个。然后我才会着手去开发。还有一点,不要相信需求定下来就不会变了,不会的。人的想法很多,开发代码的时候,这一点也要考虑进去,所以统一的接口在需求变动时,我只要修改一个地方,其他地方都可以改掉。如果这样考虑了,前期开发时,时间会多一点,但是后期维护就快很多。
小结一下,有了上面4点,重构数据库,重构代码将是必然的
1. 人的思想不可能一样,大家都在尽量往一处想,但是总会有这样,那样的不同。
2. 急于要完成功能,而不深入了解别人代码。研究别人代码不如重新开发快,这种思想不好。
3. 数据库冗余,这个我个人觉得必然会出现的,一个项目做大,做强,一定是在不断的成长,成长过程中,数据库不可能是一成不变的。
4. 缺少分块思想,我觉得一个项目,就是很多功能独立的小块通过一定线串起来的,代码重构也就是把这些小块的重新组合,当然各个小块,在重构前后实现的功能会不一样,但它还是为了实现一定的功能,只不过由旧变新而已。
上面的几点是我在开发项目过程实际遇到的,欢迎大家补充。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结》
希望本文所述对大家PHP程序设计有所帮助。

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP를 사용하면 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다. 1) HTML을 포함하여 컨텐츠를 동적으로 생성하고 사용자 입력 또는 데이터베이스 데이터를 기반으로 실시간으로 표시합니다. 2) 프로세스 양식 제출 및 동적 출력을 생성하여 htmlspecialchars를 사용하여 XSS를 방지합니다. 3) MySQL을 사용하여 사용자 등록 시스템을 작성하고 Password_Hash 및 전처리 명세서를 사용하여 보안을 향상시킵니다. 이러한 기술을 마스터하면 웹 개발의 효율성이 향상됩니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

PHP는 특히 빠른 개발 및 동적 컨텐츠를 처리하는 데 웹 개발에 적합하지만 데이터 과학 및 엔터프라이즈 수준의 애플리케이션에는 적합하지 않습니다. Python과 비교할 때 PHP는 웹 개발에 더 많은 장점이 있지만 데이터 과학 분야에서는 Python만큼 좋지 않습니다. Java와 비교할 때 PHP는 엔터프라이즈 레벨 애플리케이션에서 더 나빠지지만 웹 개발에서는 더 유연합니다. JavaScript와 비교할 때 PHP는 백엔드 개발에서 더 간결하지만 프론트 엔드 개발에서는 JavaScript만큼 좋지 않습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 다양한 시나리오에 적합합니다. 1.PHP는 웹 개발에 적합하며 내장 웹 서버 및 풍부한 기능 라이브러리를 제공합니다. 2. Python은 간결한 구문과 강력한 표준 라이브러리가있는 데이터 과학 및 기계 학습에 적합합니다. 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
