老系统如何引入更新的编码规范

简介: 团队开发,一般都是保守的,因为遗留了庞大的代码资产,没法太激进。这两年开发方向逐渐从社区和B2C转向B2B,对于PHP的一些新特性接触较多,团队项目走出了长期以来PHP 5.2版本时代的风格,进入了PHP 5.6,而能否切换到PHP 7还有待验证。

团队开发,一般都是保守的,因为遗留了庞大的代码资产,没法太激进。这两年开发方向逐渐从社区和B2C转向B2B,对于PHP的一些新特性接触较多,团队项目走出了长期以来PHP 5.2版本时代的风格,进入了PHP 5.6,而能否切换到PHP 7还有待验证。

PHP世界的编码规范,自从PHP-FIG组织发布了PSR系列规范后,团队有过多次分享。经过一段时间的实践,大家确实愿意遵循并感受到不少好处。

以前做过一个半成品的基于Discuz的框架,叫uxf,名字很别扭,有一段时间一直置顶在自己博客的。在几年前的团队项目中就形成的雏形,只是为了引入MVC的概念。其它方面的特性,没有想过太多。

后来,基于Discuz的插件形式又重新实现了一遍,叫做tch,名字还是很别扭。编码风格方面,也还是参照的10多年前,某位前辈发表在水木清华BBS上的一篇规范文档,没有接受PSR。

摘几句我在tch框架中写的话:

独立的折腾出一款框架是比较快的,但要确定它的特性很难.所以正常情况下,框架是脱胎于具体的应用的。一款成功的应用程序会带来大量开发人员的追随,而支撑该应用的框架,即便很简洁甚至很简单,都产生了极强的生命力.这种生命力的源泉,是应用程序赋予的。Discuz无疑是一款成功的应用程序.大量的开发人员为其编写插件和模板,产生了巨大的价值。

待续=====

目录
相关文章
|
25天前
|
移动开发 安全 数据安全/隐私保护
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
|
存储 SQL 缓存
【软件开发规范二】《禁止项开发规范》
文章详细阐述java开发中的禁止项内容
【软件开发规范二】《禁止项开发规范》
|
20天前
|
JavaScript 前端开发 开发者
ES6引入了哪些新特性,你在游戏开发中如何利用这些特性提升代码质量?
ES6引入了块级作用域、箭头函数、解构赋值、默认参数、模板字符串和类等新特性,提升了JavaScript代码的可读性与效率。在游戏开发中,这些特性有助于管理状态、简化回调函数、方便数据提取、增强函数灵活性、优化字符串拼接及实现面向对象编程,从而改善代码质量,提高性能和可扩展性。不过,实际应用时需结合项目需求和编码规范。
|
3月前
|
安全 前端开发 测试技术
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
|
5月前
|
JavaScript 开发者
TypeScript 对大型项目的管理和维护非常有利。具体应用案例解析
TypeScript 对大型项目的管理和维护非常有利。具体应用案例解析
|
7月前
|
缓存 运维 jenkins
上线操作规范——基础版本
最近团队成员的上线操作让人头疼。几个特别突出的问题: 1、上线准备不足,设计文档中没有体现、也没有考虑到可能的资源依赖,导致临操作了才想起来做资源申请; 2、暗箱操作... 一再要求上线时需要在群内周知,以便前后端、测试、产品共同配合完成,但依然不加理会,总是要主动询问才回复已操作; 3、发布完成就认为上线完成,有时甚至不做基本的校验...
133 0
|
8月前
|
编译器 Shell C++
如何在项目中引入googtest(上)——通过编译器引入库
如何在项目中引入googtest(上)——通过编译器引入库
102 0
|
9月前
|
应用服务中间件 nginx
项目实战17—环境混用带来的影响
项目实战17—环境混用带来的影响
68 1
|
10月前
|
JavaScript 开发者
Vite 在运行过程中是如何发现新增依赖的?
Vite 在运行过程中是如何发现新增依赖的?
179 0
|
11月前
|
NoSQL 关系型数据库 MySQL
一日一技:如何正确为历史遗留代码补充单元测试?
一日一技:如何正确为历史遗留代码补充单元测试?
75 0