解析新手程序员都会遇到的五个障碍【超准】!

       程序员作为当下互联网行业中必不可少的角色,高薪酬,好就业成为其身上颇具代表性的两个标签。很多人都有入行或者转行来做程序员的想法。

       不过想要成为一个合格的程序可并不轻松,作为一个新手想要入门程序员,首先就有5个必须克服的障碍。今天就为大家详细分析障碍以及克服障碍的有效方法。

1

不知道选择哪种语言

       很多人会问:“我应该先学什么编程语言?”能有此一问,自然是因为你明白程序划分的细致,但也说明认知也仅仅停留在这一层上。

       如果你心中已经有了一个既定的目标或者说是想要完成的项目,那么就可以依此做出选择。


2

不知道如何学以致用

       选择好方向之后,刚开始学习理论总是很轻松的,而且网上也有许许多多免费和付费的在线课程。很多人都能较快的掌握理论知识,甚至能够做到自己来解释某个代码片段的工作原理。然而一旦实际应用理论来解决问题并编写新代码的时候,就会无力应对。

       导致这种情况出现的原因很简单:技能空白。所以只有将理论结合大量的练习,具体的方法步骤如下:

选择一个复杂的项目。最好这项目得能够激起你的兴趣。

将这个任务分割成小而独立的任务。例如,“实现登录页面”是一个很大的任务。但你可以将其分解为多个小任务。而关于一个小任务我们可以再次做个细分:不应该超过20行左右的代码。一次不使用太多的理论概念。一次专注一项任务,而不是并行解决多任务。不要跳到下一个任务,除非你已经彻底测试过当前任务,并确信没有问题。

自己在开始任务之前知道所有必要的理论知识。有时候,你可能不知道需要学习什么理论,这很正常,所以你需要向他人寻求帮助:程序员朋友,导师。

你解决了任务,获得了经验值。


3

不知道吸取教训

       圆满完成任务的感觉很好,但如果你完成任务后,直接开展下一个任务,那么你浪费了一个绝佳的学习与成长机会。所以完成任务后最好做一个完成的总结。例如问问自己以下的问题:

哪些边界情况会导致我的代码失败?即使现在还没有失败,有哪些应用程序状态可能会破坏代码?

我的代码是否足够整洁?对其他开发人员,甚至是自己而言,代码是否易于理解和改变?因为以后可能需要修复隐藏在这段代码中的问题,或者根据其他产品规格改变代码。

我的方法是最好的吗?有没有其他选项是我可以选择使用的?各个方案的利弊?这任务是否值得用不同的方式解决?

 此模块与其他模块是如何交互的?是否会对其他模块造成负面影响?是否容易被其他模块影响?


4

不知道攻破难点

       这里的难点有两大类:

● 第一类,你不知道如何解决。

       你不知道从哪里开始?你可能会随机地去尝试,或者从其他地方复制一些你自己也不明白的代码。但是,这是没有帮助的。即使你复制来的代码有效也没用。因为当你今后再一次碰到类似的任务,你依然不能解决。

       如果你想妥善解决任务,那么首先你得知道你为什么卡壳。下面是一些可能的原因:

没有很好地掌握这些理论知识:

  ☀ 语言语法;

  ☀ 库或API的工作原理,某个具体方法或类的工作原理;

  ☀ 编程范式(例如:异步编程);

  ☀ 系统运作(例如:HTTP请求是理解Web开发的关键);

如果是上述情况,那么可以去复习理论知识,如果依然摸不着头脑,也可以去找人寻求帮助。

  ☀ 任务太大了,那就分解为一个个小任务。

  ☀ 也有可能是因为你读得太快,忽略了一些你以为熟悉其实似是而非的概念,所以无法理解任务要求。

● 第二类,你知道如何解决,但解决方法无效。

  这是编程中最常见的情况,哪怕是那些经验丰富的资深程序员也是如此。你的解决方案之所以不起作用最大的可能是你的代码中存在着bug。

  如何修复?方法是调试代码。这也是作为一个程序员需要学习的最重要的技能之一。这不是可以随便凑合的事,也不是玩幸运猜猜猜游戏。如何寻找bug是有具体步骤的。而且很多书中都有教这个技能。

  不幸的是,这是很多新手程序员失去动力选择放弃的难关。很少有会说明调试的重要性。如果你不知道如何正确地调试,那么它就是不可战胜无法攻克的难关。

  很多人担心会花太多时间用于调试代码。这是正常的,在你第一年的编程规划中这是不可避免的。

  甚至,你还得学着去喜欢调试。不妨将此看成是一个机会,一个修复错误提高编程能力的机会。当你解决了一个bug,可以问问自己这个问题:“我为什么会犯这种错误?以后我该如何预防再犯?”

  还有一个好方法:是将找到的bug写成编程日记,方便总结和学习。

5

不知道如何利用资源

  当你在学习代码,或调试代码时,可以咨询很多材料:书籍、课程、教程、导师,开发者社区等等。在你学习这些资源时最常见的问题时,你并没有完全了解幕后发生了什么事情,也不知道概念是如何融入到更大的蓝图中的。

  简单的打个比方:你在某个问题上花了10小时,最后终于有人提供一个解决方案,你往往会在高兴之余拿了就用,并不考虑太多。而这样做的弊端不小,建议你在解决问题之后:

思考自己之前的思维过程。问问自己,做错了什么,对于这个特定的解决方案有哪些是值得你先前的思路借鉴和改进的地方。

询问他人的思维过程。她/他是如何解决的呢?向对方学习,吸取经验。

  今天讲述的程序员人生的五个障碍是循环相扣,其中包含了作为一个程序员从入门到提升的整个过程。作为一个准备入门或者刚刚入门的程序员,可能其中的很多点你还没有接触。但在之前就拥有先验的认识对于你在之后的学习成长中避开弯路还是非常有帮助的。

  对于热爱编程的小伙伴来说,路再难走也要坚持走下去!如果你感兴趣或者有需求的话,笔者这里推荐我专栏的编程入门学习交流聚集地C语言/C++进阶之路 - 专题 - 简书!还有完整的学习路线图和学习文件视频,小白和大神们正在等着你一起探讨编程,极佳的学习氛围一起来学习吧!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容