作为一个刚摆脱小白称号的屌丝程序猿,希望能够在这里分享自己的一些小经验,一方面帮助大家少走一些弯路,另一方面我也想慢慢锻炼自己的分享知识的习惯,我也坚信这个好习惯会让我受益终生。
你得勤奋
我相信能够每天坚持看简书的人都是有思想有抱负,希望从中得到一些启示,吸取宝贵的经验,至少我是这样的,哈哈!
正如爱因斯坦所说:成功是99%的勤奋+1%的天赋 所组成!我们每个人都是平等的,IQ差不多都在同一个水平线上,在面对一个难题,如果每个人都全力以赴、所花时间都是差不多的。可如果你的IQ比别人高,然而你缺少努力,很简单的一个公式:成功=99%*努力+1%*天赋 ,最后的成功孰大孰小,就不需要我说了。
我是一名在校学生,我身边有很多高中都是班上数一数二的尖子生,高考由于各种原因没有考出理想的成绩,就沦落到一个濒临二本的学校,当然我也是属于其中一个不幸儿!他们的IQ都还是可以,但是他们不愿意学习专业知识---编程。或许对这一行不感兴趣,或许想在大学里面好好放松,又或许大学里面没有家长老师督促,所以他们“堕落”了。而那些IQ中等,到了大学始终非常努力的人,到了大学,就是他们好好施展拳脚的地方,因为现在他们没有竞争者了,可以好好当他们的王者。
如果你觉得你很聪明,就用你的努力去浇灌你的天赋,最终开出成功的花朵!如果你觉得你没有别人聪明,那就趁着别人在休息的时候,用额外的时间去弥补和超越。想成功不想勤奋的人都在耍流氓。
勤问长辈
首先作为学长学姐,或者公司里面的大牛,都喜欢你们去问问题的,因为他们都是从这个阶段走过来的,能够理解你现在的状态,而且他们也喜欢看到你努力的样子,说明你很上进,大家都喜欢上进的人。与此同时,对于他们也是在学习,因为有时候你所遇到的问题,他们或许并没有遇到过,即使遇过,也可以巩固以前的知识。所以多去问长辈吧,如果你一直问到让他们感觉烦了,说明你的该注意你的学习方法了。
多渠道学习
程序猿学习的过程大致可以划分为:看书学习、逛技术博客学习、看开源代码学习、写开源代码学习。当然我是站在学习的角度,抛开了项目来说的。
看书学习就是适合那些刚刚接触某种语言的小白,如:C、C++、C#等,他们都需要通过查看书上的讲解和示例代码来学习,慢慢掌握代码的运行逻辑,他们的编程经验很少,遇到一个问题他们甚至还不会怎么去寻找解决方案,自学能力还是有所不足。
逛技术博客学习就是属于进阶学习了,他们对于书上那些简单的示例代码已经了如指掌,运用自如,需要的是更加优秀的设计思想和代码结构。同时对于代码里面更加深层次的架构设计,书上只是一笔带过,可正是这些内容才是我们架构里面最核心的设计,所以我们要到各大平台(例如博客园)上面去找相关技术文章,细嚼慢咽,同时还要自己下去写Demo,这样才能慢慢成长。对于我自己,每天早上花20-30分钟的时间把博客园里面最新的文章全部浏览一遍,如果有比较新的知识点或者创意,我都会细细阅读,这样慢慢提升自学能力和学习习惯。
看开源代码学习就是属于向进阶大牛的一个过程了。现在是开源的时代,无论哪个语言领域,都会有它自己的开源项目,如C# 这边就有一个说法:菜鸟玩Nop,普通人玩ABP,大牛玩Ochard,这三个都是很优秀的开源项目,有亿万粉丝的支持。我想大家也能猜的出来,我学的就是C#,那么问题来了,我正在看其中哪个开源项目呢?哈哈!
写开源项目当然就是属于大牛的事情了,只有对某种语言有了很深层次的理解,才能写出一款近似于产品样的代码出来,受大家追捧。我想每个程序猿都是喜欢开源的,因为当分享得到肯定的时候,那份成就感会让你感觉无比荣耀。亲身体验,也希望作为程序猿的你们以后能够有分享的习惯。
多用项目架构设计图
其实我们在写代码的时候,需要用到逻辑思维能力的地方很少,除了项目框架设计,然而这里面的技术含量相对于我们高中数学试卷最后一题也不是很大,那么为什么我们总是感觉项目架构设计很难呢?鄙人的见解就是代码本身的编写就有一部分的难度,因为里面有很多知识点和设计我们还没有见过,需要我们重新理解,将难度平摊给每个模块的设计,所以总体看起来我们会感觉很难。可如果是大牛看框架就是不是这样了,他们只需要与自己的架构设计作一个对比,就可以发现这个框架的优缺点。这是我在看框架里面最直观的感受。
在设计框架的时候,我们最好是先在设计图是上面画出结构图,把项目模块依赖、命令传递等提前制定清楚,然后按照结构图来写代码,这样你只需要考虑此模块的代码编写,等到写依赖的时候,只需要按照结构图或文档来就可以了。
钱多,死的早!这是大家对程序猿最经典的总结,但是你也可以活的很健康,利用好你的效率和时间,创造出最大的价值。