中国程序员VS欧美程序员,差距在哪里?,95%Android开发者已收藏的十大开源库

如果给我们中国程序员,规定好的方案,他们普遍完成的非常好。但如果没有具体方案, 完全是一个开放性课题,很多时候程序员会完全无法下手。而外国的程序员他们的探索研究能力非常强, 经过一定时间的研究后, 能提出一套非常具体有效的方案然后一步一步去解决问题。

国内程序员和欧美程序员的现状,首先国内的程序员编程环境,国内企业主要还是以应用方面开发多一些,还有很多人觉得国内的程序员就会山寨,没有什么创造力。

在这里插入图片描述

开始先把电商平台搭建好,有了足够的现金流之后就开始花真金白银去开发有技术含量的东西,比如阿里云现在已经是国内领先,全球第三,这些都是在拥有核心技术竞争力的情况下拿到的,而且这个体量还在不断的增加。

当然小编并不是在长他人志气,灭本国威风,只是想小小提醒作为程序员的你,一定不要以学编程、拿高薪作为自己唯一的人生目标。就好像创业路上的你,无论在什么时候,我们都要不断提升自己的专业度和竞争力,永远保持一颗热爱自己事业的工匠之心,坚定的走下去。互联网行业千变万化,要不断的学习,更新知识系统,才能永远不被这个社会所淘汰。

在我平时所见到的程序员中,如果纯以编码能力来看,个人觉得可以分为五类,依次是:

1.拷贝型

拷贝型选手就是传说中的“代码拷贝员”了,他们对实现功能几乎没有思路,所作的事情就是从网上或是之前其他团队成员写的代码中拷贝出片段,然后放到项目中,如果运行项目出现了期望结果,则表示任务完成。

这类人只会改代码,却不会写代码。他们大多对编程毫无兴趣,只是希望以此糊口而已。

2.新手型

当产品有功能需求时,由于经验有限,程序员并不完全知道要如何实现这个功能,需要通过学习、寻找资料等方式来解决问题。

这种情况下的编码过程,程序员的主要目标是“完成功能”,那么很难有多余的心思去考虑边界条件、性能、可读性、可扩展性、编码规范等问题,因此代码bug可能较多,稳定性不高。常常会发生开发花费1个月,改bug却要改上好几个月的事情。

3.学习型

这类程序员对所在领域的语言已经比较了解,对于一般功能可以有较为清晰的实现思路,给出需求时可以通过自己的思路来实现,并且会一定程度上考虑边界条件和性能问题。但仅此而已,他们对可读性和可扩展性考虑很少,也没有项目级别的考虑,主要是希望通过实现代码来练手或是学习。

这类程序员最大的表现在于喜欢“创造代码”,即使有现成的实现,他们也希望自己来实现一套,以达到“学习”的目的。他们不喜欢复用别人的代码,看见项目中别人实现了相类似的功能,他们会以“需求不同”的借口来自己重新实现一套。这类人一般来说对技术有着较为浓厚的兴趣,希望能够通过项目来进行学习。

从项目的角度来说,这种做法最大的麻烦在于开发周期可能较长(相比直接使用现成的实现),并且会使得项目代码膨胀,影响未来的维护。

小编给这部分学习型的程序员整理了一套适合Android架构师学习的资料文档分享给大家,大家只需要转发+关注后私信回复我【架构】 免费获取Android进阶开发资料领取方式。对Android进阶,架构方面感兴趣的朋友,**欢迎加QQ群:818520403,**一起学习,相互讨论。

关于以上的技术选型,我这都有整理好的资料包括高级技术大纲以及一套系统全面的Android进阶视频,群内也有各种大佬技术面试心得的交流和分享的资料,欢迎大家踊跃加入我们,免费领取资料。

技术大纲图

![进阶视频资料](https://img-blog.csdnimg.c
n/20190911165607379.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkwMTg2Ng==,size_16,color_FFFFFF,t_70)

4.实现型

这类程序员一般有较为丰富的经验,由于写得太多,因此不再追求“创造代码”来进行学习,同时对所在领域可能涉及的很多第三方框架或是工具都比较熟悉,当接受到产品需求时,对功能实现方案已经了然于胸,因此他们可以快速的实现需求,并且对边界、性能都有一定程度的考虑。因为能够快速实现需求功能,经常会被团队评价为“牛人”。但他们一般仅仅停留在“完成功能”级别上,对代码的可读性、可扩展性、编码规范等考虑较少,对项目总体把握也较少(例如控制项目膨胀、方便部署等架构级别的东西)。

这类程序员最大的表现在于喜欢“开发项目”,却不喜欢“维护项目”。他们产出的代码最大的问题就是维护较为困难,可能过上几个月回头看自己的代码都会晕头转向。因此即使是自己写的代码,仍然不愿意维护,一般会苦了后来人。

因为接口设计的缺乏,当需求变更时,发现代码要改的东西太多,然后抱怨需求变化,却很少认为是自己的代码问题。这样的项目如果经过长时间的变更维护,最终会变得难以维护(一般表现在需求变更响应时间越来越长)甚至无法维护,最终要么是半死不活,要么是被推倒重来。

5.架构型

这类程序员比实现型更进一步,他们经验丰富,对相关框架和工具等都很熟悉,“完成功能”“稳定性”“性能”这些已经不再是他们的追求,更优美的代码、更合理的架构才是目标。

这类程序员代码设计大多建立在对需求的详细了解和对需求变更的预测上——可扩展性较好;代码细节也尽量多的考虑边界情况、性能——稳定高效;代码命名和注释都恰到好处——可读性较高;同时在开发过程中他们会不断重构,对代码做减法——保证项目可持续发展;等等。

但由于考虑问题较多,单从“实现功能”阶段来看,完成速度不一定会比“实现型”要快。只是到了项目中后期优势才会慢慢体现出来

**

四、总结


**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值