技术是为业务服务的。不结合业务使用场景单纯进行框架,语言优劣对比都是扯淡。
接上句,优化重构代码之前要先分析业务场景。
写组件时候要预留一些接口,考虑将来是否要求扩展,避免硬塞。
软件开发就是把一个复杂的问题分解成一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案!
我们是用软件解决问题的工程师或程序员,不要自称为Java程序员,PHP程序员来限制自己的发展空间。了解语言的优缺点及使用场景,特定问题使用特定语言。
-
如果一个开发人员不清楚自己所做的产品盈利能力如何,是非常危险的,因为一旦这个产品不能盈利,他马上面临三个可能性:
- 这个产品被砍掉,这个人被安排其他工作
- 这个产品被砍掉,这个人失业了
- 老板很仁慈,一直维持这个亏损的产品,但公司会因为亏损而关门,大家还是失业了
-
学习新技术的小技巧。比如打算掌握node+moogodb。可按照如下步骤:
- 首先确立目标,确定时间及具体目标。采用项目驱动。如:一个月内使用 node+mogodb 做一个小型博客系统。如果按期完成奖励买电动牙刷,机械键盘等。
- 先去node和mongo官网看文档学习基础知识,并确定技术框架,比如使用流行的express和mongoose。
- 先自己大致写一些基础代码。
- github是个宝库,是学习他人源码的好地方,可以搜索关键字
express mongoose
,express boilerplate
或express skeleton
等。选star比较多的项目。对比自己之前写的,边对比边重构。学习他人的代码组织,分层方式和结合自己习惯,不必完全照搬。 - 去v2ex或专门的社区论坛(如node就去node-china)发帖介绍项目。请别人点评,欢迎star。
提高代码水平,一、多看优秀的源码,JS推荐看lodash,PHP可以看Yii2的源码。二、看完自己写一遍,或者用其他语言实现一遍。
多人合作开发项目中,需要有一个人专门维护数据库,就是说除了这个人其他人不能随意操作正式数据库,定义新表或字段必须所有成员进行讨论包含字段名,类型,长度,索引等。表名和字段必须带有comment
将讨论结果转换为sql邮件抄送给相关人员。