原创

一次在公司的技术分享

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_24535745/article/details/88368948

阅读本文大概需要 3分钟。

 

分为三块

一 、技术块:组件化和模块化。

二、 学习块:学习能力,业务能力,沟通能力。

三、 “匠人精神”

 

 技术块

1. 组件化和模块化的区别:

1) 模块
模块指的是独立的业务模块,比如 [用户模块]、[IM聊天模块] 等。
2) 组件
组件指的是单一的功能组件,如 [定位组件]、[语音组件] 等,每个组件都可以以一个单独的 module 开发,并且可以单独抽出来作为 SDK 对外发布使用。
由此来看,[模块] 和 [组件] 间最明显的区别就是模块相对与组件来说粒度更大,一个模块中可能包含多个组件。并且两种方式的本质思想是一样的,都是为了代码重用和业务解耦。在划分的时候,模块化是业务导向,组件化是功能导向。

 

2. 组件化好处:

降低项目耦合度,有利于项目管理和开发,开发人员可以根据自己的定位形成独立版本开发和维护,能加快开发人员从掌握到开发速度,降低开发人员上手难度。例如:

1:A开发成员,分配任务负责用户业务块,他不需要了解整个项目的业务和原理,只需要熟悉独立负责的业务代码,并可以很快上手进行业务开发。

2:B开发成员,负责解决应用性能优化或功能性开发,分配中间件他不需要深入了解业务实现层,只需要中间件对每个功能性组件(如:定位优化、语音优化、?新功能开发)进行优化和开发。

3:C开发成员,负责项目架构设计和底层功能需求优化和开发,他需要维护基础件以及整个项目架构设计和每个部分协调,但不需要进行功能和业务开发,做到控制+连接。

 

 

二 、学习块

1. 技术能力

1) 指编程功底,比如编程语言,操作系统,作为一个程序员的最基本的能力,也叫硬实力。这方面的知识也叫专业知识,通常这方面能力是最容易提高的,只要愿意花时间精力就能看到效果。

2) 有个定律叫一万小时定律,从平凡到卓越,比尔盖茨13岁开始编程到20岁早已超过一万小时,这样算8x250x5在5年时间将达到一万小时,所以5年是一个分水岭,只要你足够专注有很好的执行力,就能在自己所在的领域做的比别人要好。

 

2. 业务能力

1) 技术不是目的,解决问题才是目的,运用技术来解决问题的能力就叫做业务能力。

2) 还有一种叫业务感觉,比如任何一个产品需求,你能抽象想出对应模型并且能很快的实现它,这方面的能力需要经验的积累和总结,而且和你的行业相关,你经历的公司做过的产品都影响着你的业务积累。

 

3. 沟通能力

相对其他职业程序员相对人际交往比较少,我们可能有很多想法或者技术积累,但缺乏好的交际能力往往无法体现或表达出来。

 

”匠人精神“

就比如下边的碗:

1. 首先你要确定这个作品实用是有意义的(我们每个人日常都会用到碗吧),就像我们产品导航是用户需要的。

2. 然后就要想怎么做好这个产品,做到差异化,比如碗是优质品还是次品,就需要专注、细心打磨,一点点积累形成差别,就像我

们产品尽可能做到运行越来越稳定、性能消耗越来越少。

 

 

总结

张一鸣:stay hungry, stay Young !

人生应该要做一些很酷的事情!

                                                                       

                                                                                                                                                

 

文章最后发布于: 2019-03-29 10:18:58
展开阅读全文
0 个人打赏

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览