对于问题的描述,我归结于下面几点:
- 具备一定编程基础的人如何进阶?
- 如何将学到的编程知识转变为实际开发成果?
- 如何更有效地学习编程?
- Learn by doing,对于有编程经验的程序员,这种方式毫无疑问是最有效果的。所谓的Learn by doing就是边做边学。举个例子,经常有一些视频教程,是速撸游戏的,即利用最短时间开发一个游戏的prototype 或者 playable version。跟着这些教程走一遍,你很大程度上就对开发的流程和思想有一定了解了。虽然在这个过程中你的代码很像是game jam中写出来的那样混乱或者dirty(不知道如何翻译dirty最传神,就是基本功能都实现了虽然结构不清晰明了),但是你依然可以从中轻易获取成就感和经验。
- 实践 [1]。编程最重要的就是动手做。如果你是初学者,你可以在每一个课时或章节结束后自己写习题,在习题的基础上扩展你能想到的功能;如果你不知道如何运用这节课的知识,那么你应当跟从一些实战教程完成一个完整的项目,又或者把之前用其他语言实现的项目用刚学的语言重写。在这个过程中你不仅能学到一些API是如何运作和使用的,还能对项目开发中的流程和规范有更深的了解。
- 阅读源码。在陷入瓶颈期的时候很多人会显得烦躁——可能是因为某个功能不知道怎么实现,可能是某个算法存在着各种各样的问题,可能是因为工作压力大看不到希望。这个时候很难静下心来写代码或者读代码。但是我依然建议找一些可读性较高的源码来读一读,比如Unity3D的官方tutorial,这一系列教程的脚本写的十分清晰明了,结构明确,可读性强。有针对性地阅读源码甚至能够帮你解决开发中的问题,同时也能帮你积累足够优秀的变成习惯和思维方式。一旦积累足够,加之其他方面的努力,度过瓶颈期就很容易了。
【1】关于上面提到的实践,应该分为两个阶段。初学时的初级阶段和进阶时的高级阶段。
在初级阶段建议大家实践选择小程序。所谓的小程序就是能够用不到一百行代码实现的小功能,目的在于练习语法、数据结构和最基本的算法。
在高级阶段大家应当找一些实际的问题解决,网上搜索一些实际问题抽象成模型来写,或者真正动手去仿照教程做一个游戏出来。这一阶段的目标已经不是巩固语法了,你要掌握一些第三方库和接口,并且清楚编程范式代码风格。学会了C#和能不能在Unity里做个游戏还是有很大区别的。
Github中有很多针对两种不同实践阶段的练习,可以找来练一下。
c#之类的程序语言怎么学最有效?
0 条评论