别人写的代码看起来容易,自己写未必写得好

古人云说起来容易,做起来难。就像我们看小说一样,我们看完小说都看得懂,里面的人物事件都搞得清清楚楚,可这不代表我们能写得出来。对于我们这些码农来说,有些代码是看起来容易,做起来也不容易。记得刚参加工作的时候,一个牛人跟我说过,一件简单的事情做起来是简单,一万件简单的事情堆在一起就不简单了。就行linux内核一样,单独哪一行,对于任何一个会C语言的程序员都看得懂吧!可是由这些一行行简单的代码组成的东西又有多少人能深入理解呢?

记得以前一同事侯哥,相当牛的一个人物,跟我说过“只要不是自己做的事情都很简单,只要是自己做的事情都没那么简单”。是啊,我们很多时候是眼高手低的,看别人做出来了,瞄一眼,原来也就这么回事,心里飘飘然,这个我也做的出来。可是真是让你来做,你倒未必来做得别人那么好。

先照着别人的代码原封不动地打几遍,理解它的意思,可以在代码旁边写一些相应的伪代码,然后碰到类似问题试着靠自己的记忆去把相同功能的代码写出来,多像这样练一下,就慢慢熟练了

我个人觉得,编程学习的第一步就在于模仿,古人不是有句话么:会颂唐诗三百首,不会作诗也会吟。编程是同样的道理,可以想象一下你学习英语的过程,在会使用之前,需要积累很多东西,计算机语言既然称为语言,那学习过程也有相似之处,所以在你自己能创造代码之前,很多基本的经典算法是需要自己积累的。比如说:排序、查找等等。只有把这些经典的东西吃透了,记住了,自己才能写出漂亮的代码。看明白代码(特别是简单的)的确不是很难,但是丢开它,你首先要写得出它,这才是学到了东西。

你只是能从别人书写的代码知道每一步都做些什么吧?

你明白别人的解题思路吗?

你知道别人为什么要用那样的算法吗?

如果你看着题目,你能写出实现同一功能的代码吗?

你能知道别人在写这个程序的过程中会遇到什么样的问题吗?

你能在看了别人的程序之后写出比他好的代码吗?

你能用另一种算法写出实现同一程序的代码吗?

你真的能看懂别人的程序吗?

好的程序员都是解题目解出来的,都是写代码写出来的,都是从错误中走出来的。而不是单单看别人的代码就能衍生出来的。

新手如何做?

写程序关键是要有思路即算法,很多算法在理解的基础上是需要背的。所以编程之前,首先要弄清楚要输入什么,最后要输出什么,中间要解决什么,如何解决,然后画出N—S流程图,最后按照流程图的思路用C语言去实现就好了。

项目什么时候开始?

很多初学C语言的小伙伴,在学习之初并没有一个大概的概念,学习这门语言需要掌握多少知识点,怎么才算学的差不多?什么时候才能开始实现项目。

C语言的精髓点在哪? 学到多少东西才能够达到做项目的标准?学习的时候需要注意哪些细节点?疑问太多以至于压得自己喘不过气来。小编从项目的角度分析C语言到底需要掌握哪些知识,为什么要去掌握这些点,怎么去掌握,在此尝试着总结以下几点,未必都是对的,起码可以做到亲身经历。

1.基本的数据操作,运算规则,常见程序结构设计

技术这东西只要花的时间长,肯下功夫早晚都能搞定,只要进入状态了,什么方法都能想的出来”,看书学习也罢,看视频学习也罢,需要让自己插上联想的翅膀,把自己的思维境界打开。很多人初学者可能会有疑问觉得去哪里找这些代码去,不妨下载学习群中小案例,和完整项目,

2.指针,数组,结构体,枚举灵活运用

不要只看这几个字,几乎是C语言里面最精髓的代表。数组这个概念基本上还能理解透彻,说到指针这个应用场景太多,而且在什么项目中几乎都离不开指针的使用。变化无穷,会用的觉得其乐无穷,不懂的哭上天。其他的不做评论

3.函数的使用

一个函数基本上代表一个小的模块,多个模块有机的组合形成一个系统。建议初学者在学习函数的时候,不要满足于会使用函数,还要让自己站的层次更高一点。这能决定自己是一个纯粹的执行者还是未来框架的设计者,不要觉得这些东西距离自己很远,慢慢的积累时间长了,慢慢也就从量变变成质变了。

4.对于内存和性能有少许的理解

内存和性能对于初学者来说,可能觉得很遥远,其实这两样东西贯穿整个编码界,检验软件功能最重要的两项指标,软件占用内存多少,运行时间长了会不会让系统变缓慢。同时开启在多个软件的时候,你设计的软件是不是变得很卡顿,这些都是大家平常在使用软件时候经常遇见的现象

转载于:https://www.cnblogs.com/bukechuji/p/10954778.html

编程中的代码能看懂。。但是让自己写却写不出来。应该怎么办? 要有效果的方法...相关推荐

  1. 招聘过程中,3分钟看懂一个人

    你曾听过有些资深面试官说自己能在三分钟时间内看懂一个人吗?其实这是可以做到的,一方面它需要丰富的阅历与对人性的极强敏感度,另一方面需要掌握某种技能与方法--肢体语言.肢体语言是解读人性的密码,通常听到 ...

  2. 制图折断线_【机械制图】机械设计中的尺寸标注,看懂复杂机械图纸!

    专注于机械行业.专业.职业信息分享  服务于制造业百万工程师 推荐阅读 [机械制图]画图这么久,线型都没搞懂? [机械制图]机械图纸知识解析,这个总结溜溜的 [机械制图]机械图纸尺寸标注规则,通过动图 ...

  3. 趣味图解编程算法,文科生都看懂了

    快速排序 快速排序是一种"分而治之"的排序算法,通过随机选择"分区点"来避免出现最坏的情况. 随机选择"分区点". 按照"分区点& ...

  4. python-内存中的那些事儿-看懂变量取值的过程

    >关于内存与变量 进程的内存 线程的内存 函数的内存 类的内存 对象的内存 >列表取值,字典取值,本质 >类.类属性的本质 >对象.属性的本质 >模块.变量名的本质

  5. 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别 一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符

    http://www.cnblogs.com/shuiyi/p/5277233.html

  6. hbuilder边框代码是什么_看懂HTML代码,摸清国外买家喜欢搜什么关键词

    看懂HTML代码,摸清国外买家喜欢搜什么关键词 大家每天都忙着找关键词,忙着写标题,忙着做各种的优化.目的就是想把自己的产品排名到前面,获得更多的曝光,带来更多的询盘.在这个过程中客服同时也是一名搜索 ...

  7. JAVA 代码交互率低的原因分析,深入剖析Java编程中的中文问题及建议最优解决方法...

    说明:本文为作者原创,作者联系地址为: josserchai@yahoo.com .由于 Java 编程中的中文 问题是一个老生常谈的问题,在阅读了许多关于 Java 中文问题解决方法之后,结合作者的 ...

  8. 追源索骥:透过源码看懂Flink核心框架的执行流程

    https://www.cnblogs.com/bethunebtj/p/9168274.html 追源索骥:透过源码看懂Flink核心框架的执行流程 前言 1.从 Hello,World WordC ...

  9. 1.6-程序员必须要会“英语”吗?(会英语在编程中的优势)

    一.前言(程序员必须要会"英语"吗?) 当然不是必须了!可以说一个完全不懂英语的人都可以完成编程工作(用拼音或字母代替).比如如下代码: //有1.2.3.4个数字,能组成多少个互 ...

最新文章

  1. 熬夜写代码,不如换女装入GitHub获上千Star?
  2. 将 Microsoft Excel 导入至 MySQL
  3. OpenCV基础篇之读取显示图片
  4. Centos 7和 Centos 6开放查看端口 防火墙关闭打开
  5. lucene 高亮显示
  6. 点云着色系列之按坐标轴着色效果展示
  7. c++ string类型转换为char *类型
  8. 区块链 xuperchain 命令行 部署使用EVM solidity合约 教程
  9. (简历来自拉勾)H5前端工程师:
  10. 山重水复疑无路_最快下降问梯度(深度学习入门系列之七)
  11. UWP 学习笔记 二
  12. NFT协议标准梳理:除了ERC721和ERC1155,还有哪些?
  13. Configure: error: C preprocessor “/lib/cpp“ fails sanity check
  14. 使用UnrealPak.exe创建Pak文件
  15. 非专业人士对特斯拉人工智能日的专业解释 ——记@Cosmacelf在Reddit.com上对于AI Day的评价...
  16. C语言的sizeof运算符计算结构体大小
  17. 可视化和回归分析星巴克咖啡在中国的定价建议
  18. 微信免费电子名片哪里有
  19. 恢复照片的免费软件,好用!
  20. [CF1558D]Top-Notch Insertions

热门文章

  1. 用python一键保存几千张表情包斗图,分分钟征服朋友圈所有好友
  2. LeetCode刷题笔记 - 175.Combine Two Tables
  3. window设置minio自启动时候*报错某些服务未由其他服务使用时将自动停止
  4. 解读LM79测试项目及LM80的区别
  5. memcached + mysql_memcached+Mysql(主从)
  6. Macbook Pro 外接显卡实现Tensorflow GPU运行之MacOS系统重装
  7. 大B和小b的区别及关联
  8. “引江济淮”工程全线开工 将建全球单跨最大渡槽
  9. 【Proteus仿真】用24C04与1602LCD设计的简易加密电子密码锁
  10. 吞噬星空是鸿蒙三部曲吗,星辰变吞噬星空盘龙三部有什么关系