[讨论] 提高编程技能的方法都有哪些?

eric_wang   2017-6-13 14:50 楼主
如何成为一名出色的程序员?相信你一定思考过这个问题。刚刚在朋友圈看到了下面十条技巧分享给大家:

1.尽可能地多做练习
坚持练习几个小时听起来很难, 但一旦喜欢上这种方式, 你会乐此不疲。你一定听说过熟能生巧。这对程序员来说是非常必要的。  
这里有个问题。练习什么?问得好。社会媒体是实践的一个重要来源。加入一些群组和论坛,帮新手程序员解决问题。几乎每本书都有很多经典的案例。不要跳过章节练习。留意实际运用中的问题并且尝试解决掉。

2.加入开发者社区
如上所述,社交媒体可以给到你想要的一切。有大型专业社区。有些是非常流行的, 如StackOverflow 和CSDN。这里有许多技术牛人可以帮助到你,也有一些新手需要你的帮助, 然后扩大你的技术社交圈。

3.多吸取建议
允许他人阅读您的代码。如果有批评的观点, 请感谢他们。因为他们将帮助您找到代码中的漏洞,提高代码质量和逻辑。对有些人来说,很难接受批评。我就是其中之一, 但很快我意识到, 其实评论者正帮我测试代码。

4.解决困惑和谜题
当我还是新手的时候, 我常常解决一些编程难题,直到现在我仍然在周末寻找一些难题并享受解决之后的喜悦。它刺激大脑并保持头脑的运转。
当同样的问题再次出现时,在哪里可以找到解决这些困惑的方法? 下面是一些资源。
Sphere online judge :http://www.spoj.com/
Uva online judge :https://uva.onlinejudge.org/
Project Euler :https://projecteuler.net/
Top coder :https://www.topcoder.com/
Python challenge :http://www.pythonchallenge.com/
Code kata:http://codekata.pragprog.com/

5.参与代码挑战
参与学校里面低级别的或者如Google Code Jam等国际级别的代码挑战,使您能够像专业人士一样思考。 它让你知道自己的水平,使你能够确定自己的速度。 如果您赢得了挑战,您将获得奖励,这是一种激励和鼓励,如果你输了,那就是刺激,给手机设置提醒,一个告诉你起床和奋斗的警报。

6.不要重新编写代码
如果你正在练习,那么跳过这一点。但是如果你正在开发一个项目,那么它是为你而设计的。您正在处理的项目可能是由多人共同完成的,整个代码或代码段都是开源的。 只要借用该代码,阅读并修改它,如果需要的话。不要造轮子。,这可以真正提高您的工作效率。

7.不要试图记住代码
这个帖子的第一点是尽可能地多练习。
问:你为什么需要练习? 为什么不记住代码?
答:一些初学者记住了代码和语法,这看起来比练习更容易和快捷,不是吗 ?但事情并不总是像#000000和#ffffff一样确定。 实际上,不需要记住特定问题或任何代码,而应当思考这个代码的实现思路,与此同时,我们有存储设备和搜索引擎以便于检索。问题日益复杂,今天的代码对于明天变得无效。 所以你需要建立肌肉记忆,发展自己的想法而不应该是死记硬背。

8.避免使用过时的API
过时的API是指那些旧的或较新版本的API。新的东西有新的功能, 对旧版本的特性和兼容性等方面得以改善。API开发人员试图使用户更容易使用。因此,让你的技能与时俱进,如果不需要使用旧版本的API,请避免使用它。

9.会用调试工具
于所有程序员来说,调试是编码过程中最苦恼的一部分。很少有人写代码是没有Bug的。调试是解决Bug的过程。根据Bug难易程度和个人调试技能不同,调试单个Bug可能需要1分钟或几天时间。但是, 您可以使用某些工具来提高调试效率。幸运的是,每个IDE都包含调试工具。您只需要学习如何使用这些工具, 并在每次调试过程中使用它。真的会对你有帮助!

10.擅用Google
在开发过程中,你将不得不面对一个艰难的处境。当你在代码中发现了很多BUG的时候,或者你正在努力想出一个方法去做一些事情。在这种情况下,很可能你不会是第一个做这些事的人。 数以千计的人可能也遇到同样的麻烦。他们是如何成功解决的呢? Google会给你很多答案。所有你需要的都可以进行搜索查询。

谷歌 搜索引擎, 而不是谷歌公司。它适用于关键字。因此, 为了获得最佳答案,你需要知道如何以巧妙的方式向Google提问。为此, 学习SEO(译者注:搜索引擎优化) 基础知识。这这将使您能够像Google一样思考,从而提高您的搜索技能。


欢迎大家继续跟帖分享平时编程中的用到的方法、技巧
下周将从跟帖分享方法、技巧的网友中抽出一名送出下图礼物(我也不知道这个该叫什么
3.jpg

2.jpg
看起来应该是这样用的
1.jpg

上次讨论抽奖视频
[media]https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=z0512xkg5nx&auto=0[/media]


回复评论 (15)

2推荐 WZH70246 

抛空脑子,专注一点,连续作战。这样写代码的效率会特别高。   个人建议生活和工作思维要分开。生活就要有生活的情调,灵活感性一点。。工作了就严谨逻辑,按部就班。
点赞  2017-6-15 10:16

2推荐 freebsder 

两个经验,一是加群309018200,二是礼品全部归我。
点赞  2017-6-13 17:47
电话也是送的??, 还有凌美的钢笔!
点赞  2017-6-13 15:05
引用: ddlxiaoxu 发表于 2017-6-13 15:05
电话也是送的??, 还有凌美的钢笔!

你的回答没有切题啊
点赞  2017-6-13 15:11
其实,提高编程能力最本质的方法是在日常生活中刻意的用逻辑思维方式去思考,讲话、码字尽量追求逻辑完备,这样养成习惯的话,辅以计算机编程语言的掌握就能写出好代码了,再掌握该编程语言的特性和技巧,那能写出完美的代码。
唐宋人写诗词,追求的是所谓“诗外功夫”。诗词有其特定的格式、韵律要求,正如计算机编程语言的规范,但写出好诗或编出好代码,只知道规则是根本不行的,而很多菜鸟纠结于格式规范,这样写出来的东西叫“打油诗”、“打油代码”,写的再多、再熟练也难成气候。诗外功夫来自于对生活、对世界的观察和体验,编程更讲究逻辑,所以编程的“诗外功夫”来自于对生活、对世界的逻辑感悟。自觉之人,举手投足、谈笑风生之间都是在修炼,假以时日,人和人之间就会产生巨大差距,乃至是不可逾越的鸿沟。所以,想称为编程高手或者任何基于逻辑的技术高手,先从学说话、学思考开始。别以为你真的会说话、会思考。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2017-6-13 15:31
楼主给出的建议文,属于术的层面,只这么做,属于俗手之术。坚持修炼的话,可以修成熟练的俗手。这样熟俗手任何一家科技公司,一抓一大把,年过三十就开始吃不消。而俺在楼上给出的建议,是高手之道,而且可以修炼一生,老而弥坚。但高手之道一定不是速成的,寻常之人缺乏自觉,难以坚持哪怕三分钟,所以能不能成为高手,在乎自觉与否。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2017-6-13 15:42
编程的重点在于重构
写好代码,运行无误,很多人就止步于此。
就拿交互数据的函数来说

有人想到的是
void swap(int i,int x);

而有的人最后想的是
void swap(viod* i,void* j,size_t n);

经验在哪里,境界就在哪里,多看看程序设计之类的书,尤其是不要怕指针和函数指针

反正,在处理事情的时候,先多想想会遇到哪些情况,怎么设计程序最合适,不要只为了解决问题而解决问题。
天地庄周马;江湖范蠡船。 个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
点赞  2017-6-13 16:18
多看多写多练吧~提升技能的方式就是这样,熟能生巧。
但要非常牛掰的话要像chunyang前辈说的那样,写代码就是做人!
物致DIY 欢迎你的加入~ QQ群:646461928 公众号:智物知心致成 小店
点赞  2017-6-13 16:37
我就来看看,不说话
So TM what......?
点赞  2017-6-13 18:03
虽然是搬砖,但感觉自己没有任何经验,也没有套路,就是搬,砸到脚了就记住这个方式不对,至于为什么会砸脚,who cares。。。所以我总是这么菜~
HELLO_WATER
点赞  2017-6-14 10:05
1:多练习编码和DIY项目,孰能生巧
2:多看看一些编程思想,能做到在不同应用场景下采用最优的编程思想,减少开发难度
3:多看看开源代码,比如github
4:多分析bug问题,做到深究因果关系,增加容错机制,增强系统稳定性
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2017-6-21 11:24
就一个经验:给我撸代码
点赞  2017-8-11 09:25
编编代码,看看书。然后再编编代码,看看书。然后再编编代码,看看书。。。 学 练 结 合。。。 硬件的话,画画调调,看资料看书。然后再,画画调调,看资料看书。然后再,画画调调,看资料看书。。。 当然,没钱买书就看电子书。 本帖最后由 damiaa 于 2017-9-19 09:24 编辑
点赞  2017-9-19 09:21
只有一个建议:做一个真实需求的项目,哪怕只是一个console小项目都行,不用太长,5K以内最好。你会自然而然遇到很多的实际问题,届时,你的语法点就会融会贯通。
点赞  2017-11-1 10:50
多看例程,勤动手,多思考,熟能生巧量变产生质变
爱电子,爱生活
点赞  2017-11-6 21:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复