把重复代码抽成函数
写代码最怕的就是复制粘贴。比如你在多个地方都写了计算折扣价格的逻辑,与其每次都重写一遍,不如把它封装成一个函数。
function calculateDiscount(price, discountRate) {
return price * (1 - discountRate);
}以后要用直接调用 calculateDiscount(100, 0.2) 就行,改逻辑也只改一处,省时又不容易出错。
善用配置代替硬编码
很多重复其实是因为把参数写死了。比如连接数据库的地址、超时时间这些,如果每段代码都写一次,后期改起来头大。把这些值提取出来做成配置项,代码就能在不同环境里通用。
const config = {
apiBaseUrl: 'https://api.example.com',
timeout: 5000
};这样换服务器或者调参数,改配置文件就行,不用动业务代码。
组件化开发更灵活
前端写页面经常遇到类似的卡片、按钮、表单。把这些界面元素拆成独立组件,下次用直接导入。比如一个用户信息卡片,在个人页、订单页、评论区都能复用。
<UserInfoCard name="张三" avatar="/img/1.jpg" />后端也可以搞“组件”——比如用户登录、权限校验这种通用流程,做成中间件挂上去就行。
利用工具库和开源模块
别什么都自己造轮子。日期处理用 dayjs,数据校验用 yup,深拷贝直接上 lodash。这些经过大量项目验证的工具,比你自己写的更稳定,还节省时间。
比如格式化时间,一行代码搞定:dayjs(date).format('YYYY-MM-DD'),不用再从零写正则和判断逻辑。
模板和脚手架提效
新项目一上来总要搭结构,建目录、配 webpack、写路由。把这些固定套路做成模板,用命令行一键生成,效率翻倍。Vue CLI、Create React App 其实就是干这个的。
公司内部也可以维护自己的项目脚手架,统一技术栈和规范,新人入职也能快速上手。
设计模式不是摆设
像工厂模式、观察者模式这些听起来高大上,其实解决的就是复用问题。比如你有一堆支付方式(微信、支付宝、银行卡),用工厂模式统一创建,调用方不用关心具体实现。
const payment = PaymentFactory.create('alipay');
payment.pay(99.9);以后加新的支付方式,只要扩展工厂,原有代码完全不用动。
文档和注释让别人敢用
好代码不仅要自己能复用,还得让同事敢用。加点清晰的注释,写个简单说明,标明输入输出和使用场景,别人看到才愿意拿去用,而不是重新写一套。
比如在函数上方加个 JSDoc:
/**
* 计算商品最终价格
* @param {number} price 原价
* @param {number} discount 折扣率 0-1
* @returns {number} 折后价
*/这样一目了然,别人搜一下就能拿来用。