看别人写的代码能看懂 自己写却完全不知从何下手 这样的问题起因是啥 该怎样解决
你看别人写回答洋洋洒洒,都看得懂,自己怎么就写不出来呢?
■网友
谢邀,这个我能理解,当初看八皇后的代码能看懂,但是看之前死活写不出来,看了之后其实也写的磕磕巴巴。这个其实就是还没理解算法的精髓,还在硬背代码。你把算法一点点的理顺了,就能好点,但是还是要多写。我现在写八皇后就可以完全靠自己写出来了,也是这大半年写代码写的比较多的缘故。
■网友
老生常谈的问题了,代码量太少,从最简单的写起,去写去运行去调试,代码量上来就知道从哪里开始了。
顺便,泼个冷水,你以为你看懂了,其实你并没有。
看完一段代码的时候,问一下自己下面三个问题:
这段代码实现了什么功能?
这段代码怎么实现的这个/些功能?
这段代码为什么要使用这种实现而不是其他的方式?
如果你三个问题的答案都了然于胸了,如果要实现一样的功能,你肯定也能写出来。
■网友
一是不会算法。一个问题,不会转化成程序语言,简单到一个爬虫,先发送请求,再解析页面,再存储数据,这个大路线要知道,如果这个都搞不清就无从下手。再到复杂点的,图像处理的洪泛法这些,如何对一个封闭区域内的像素点染色,没有算法完全没法做。二是对语言不熟悉,例如写爬虫不知道request类的库,解析html、json或者正则的库,有思路也无法实现。解决方法,肯定要先培养思维,拿到一个问题,知道该如何解决,分解成哪些步骤,而且是按程序语言的思路;其次是要熟悉语言,多写多看,没有捷径。
■网友
我觉得除了其他人说的你可能还有一个欠缺的能力就是拆解问题。拿到手一个东西不知道该怎么做的时候不妨把大问题化小。举个例子,比如你要写一个在console运行的简单的计算器软件,我可以拆解成以下几个问题
我所需要的运算符有哪些我支持的数字类型有哪些(整型,小数)运算符的计算顺序是什么(*,/ 高于 +,-)我怎么控制输入输入的检测需要有什么(检测运算符,非数字)如何处理输入进来的正确算式等等 【看别人写的代码能看懂 自己写却完全不知从何下手 这样的问题起因是啥 该怎样解决】 把大的问题拆解成小的可以解决的问题(minimum workable unit),再把他们完整的拼起来,就解决了你的大问题。
推荐阅读
- 加热■手写的“时控标贴”靠谱吗? 饮品巨头寒冬争推热饮新品
- 怎样对别人的代码进行适当修改使他永远也找不到问题出在哪
- 给别人拉人头做项目,别人出事了,会连累到吗
- 在英雄联盟里面跟别人solo有啥技巧吗一对一的那种〒_〒?
- 汽车|坐别人的车,不要做这几个脏动作,不然连好朋友都要赶你下车!
- 异乡好居说程序员删除代码是未经证实的传言吗
- 这段代码中对 vector 的访问为啥不会越界
- C语言指数函数代码
- 学计算机就是当码农吗
- 实习程序员第一个月除了看别人的代码还能干啥
