最近学js,每次写代码实现某个功能,都是写一步想一步,比如说想到用某个变量在在前面添加一个变量,写完以后哪里有问题在删删改改,最后虽然能实现,但是我自己看着都觉得恶心,我想问一下是不是都这么过来的,或者我就不是这块料?应该怎么练习?每次写之前先构思好?但是不先写点东西我就构思不下去。还是说先打个草稿?
最近学js,每次写代码实现某个功能,都是写一步想一步,比如说想到用某个变量在在前面添加一个变量,写完以后哪里有问题在删删改改,最后虽然能实现,但是我自己看着都觉得恶心,我想问一下是不是都这么过来的,或者我就不是这块料?应该怎么练习?每次写之前先构思好?但是不先写点东西我就构思不下去。还是说先打个草稿?
1.想清楚要实现什么
2.尽量把有可能需要的参数都提前封装定义好
3.多看看优秀项目的源码,看别人怎么封装调用的
4.多练就好了,,,没什么是不是这块料,首先能实现功能,然后再优化,吸取经验,提升。
加油,祝好。
这里建议多学习一下设计模式,推荐几个逻辑性强的:组合模式,适配器模式,命令模式。
分享一个设计模式的博客:http://blog.csdn.net/lovelion...
相信你理解了这些设计模式,并且可以自己写出来,运用到你的项目当中的话,你应该是一个能写出逻辑性很强的代码的人了。
我想问一下是不是都这么过来的,
不是。
或者我就不是这块料?
不一定。
应该怎么练习?
多写。
每次写之前先构思好?
不一定,自下而上,自上而下都是一种可行的方式,根据场景不同适用性不同。
但是不先写点东西我就构思不下去。还是说先打个草稿?
基础太差,先补课吧。
结合自己体会:
1.多看别人的优秀代码,在github上有很多优秀的代码。
2.在写代码之前理清思路,然后在动手。
3.写代码的时候跟着数据走,记住数据类型的变化。
4.多写
写久了就好了,其实是很多“模式”还没吃到骨子里去。
刚开始的时候,要练套路,规范你的代码,防止你跑偏。
不过,练拳不练功,到老一场空。工作三四年,筋骨打熬好了,就该学习内功了。程序员的内功是什么?数据结构,算法。
内力深厚了,江湖地位也提升了,却也厌倦了江湖厮杀,想过点平静的生活。这时候,也不在意什么模式不模式了,草木竹石皆可为剑。
此时你早已见心明性,不需要谁给你指出道路了。
我觉得编程就相当于学习一门“类自然语言”,有无逻辑取决于你的思考方式,当然,代码逻辑还和你对这门语言的认知有关系 —— 大部分清空下你都找到的原生的实现方法,熟读手册不如熟查手册。
对于思路,我个人的做法是:
学习阶段多写多想,逐步巩固,短期熟练;
实战阶段多想少写,深思熟虑,构思缜密,不断实践;
学会把抽象的东西具象化思考 - 如下图;
简化思路,编程世界里没有太复杂的东西,即便是很复杂的算也都不过是一个公式就可以解决的问题,所以,不要被结果难倒了,你就反推着去拆分,一直拆分到最小单元,例如游戏,看着一个场景很复杂,实际他就是一个平面上各个点在动 —— 只不过这个点可以切换显示为 点 或 RP。
设计模式很重要,不说熟知,最起码要懂得一些常见的模式案例,这样你写代码或读代码都能很轻松,甚至当你解决一门新的语言也能很快上手 —— 跑不出最基本的架构原则!
SF 里有不少同学在描述问题的时候语言都是混乱的,其实他就是思考问题的方式有问题,语言表述混乱导致其写代码也是混乱的 —— 当然这个也取决于入门这个阶段,所谓姿势不正确,上梁不正下梁歪!——没有贬低谁的意思,只是觉得要想思路清晰,最起码要有一个清晰的表述能力,我写代码的时候是会边嘟囔边写,代码就像是从嘴里出来的,只是让自己有个清晰度思路,旁若无人,一吐为快。
另外,我个人的编码原则是:
尽量不用简写名称,任何一门语言都是,练习的时候也是,不懂的词汇查字典;
使用正确的语法,例如:HTML 单标签不省略,
<input>
错、<input />
对,再例如一些逻辑语句,严格按照官方的结构,少简写,不省略,尤其是switch
和复杂的运算;注释齐全,编译器可以帮我去除大部分的注释,所以,源码尽量写注释;
归类索引,项目目录、文件命名、类名、方法名、属性名以及图片名都尽量不简写,尽量使其易于索引(A-Z0-9排序)、易于查找(如:
.app-header-*
、.app-body-*
)、易于维护(如:变量-逻辑-结果的上下文关系),可以参考《现代汉语词典》,它一开始是索引(变量),然后是正文(方法、逻辑),最后有附录快查(结果);大部分情况下使用单引号;
大部分情况下逻辑快之间空行,方法块之间空格,根据实际情况,不省略结束符;
有人称编码为禅道,虽有装X的嫌疑,但最起码,大部程序员还是任何整洁代码的,当然,符合规范的代码编译器也会觉得无压力!