写编程,是一件很有逻辑性的工作。特别是在后面遇到复杂的项目的时候。
几乎每天头脑都是发烧状态!大家都知道的。编程?一个掉毛发的工作!
编程学习方法: 反馈型学习,这项技能,需要通过长期的反复实践去修正细节上的逻辑错误。光学习理论的作用不大,就算理论再怎么强,想有实际性应用也是一件难事。
不管学习哪一种编程语言,都需要掌握的两大核心,语法,和编程逻辑。然后逻辑化事件行为(白话:用编程的逻辑这件事该怎么干?),再匹配编程语言的语法和逻辑。
在编程中有常见的编程流程。
事件–流程化–语法化–测试–修改–测试(循环到程序没问题为止),这其中有程序设计的错误,有书写错误,有语法错误,有数据类型的错误等等等。
大部分编程一种顺向思维(做这个事件的流程,先干嘛,然后再干嘛!)这就得说到逻辑思维了!
为了方便理解正向逻辑,转化成以下类比形式:
- 建房子,一层一层的架构上去。
- 类似于数学的1+1=?,左边计算逻辑
可以看出,正向逻辑的核心在「先有,先存在的前置条件」
与其相对的逆向逻辑,就有点显得不那么正规了。大部分搞破解,bug测试,爬虫,使用这个方法
比较适合破解,解析。
同样,给出几个类比:
- 数学里的2=?+?。右边计算
这个看起来比较复杂,差不多有无数个答案。
是的,把每个?都看做是一个未知变量。做逆向需要通过大量的分析,和数据对比,找出存在的未知变量。
场景:选择题考试。
我们常常在做数学试卷的时候,会遇到一些选择题,然后给出你ABCD四个选项。
按照顺向思维,就是通过各种计算的出答案,然后填相对应的选项。
如果按照逆向思维,就是:
将ABCD四个选项带入其中,选择满足条件的。
就拿往洗衣机洗衣服而言!
事件流程化逻辑:
收集要洗的衣服→洗衣机加水→放洗衣液→启动→甩水
这是基本的逻辑性!逻辑性不强,可以通过很多日常生活去试着把事件逻辑化。
光有理论,没有实际意义做编程是不行的。理论是操作逻辑的支撑,没有任何实际意义。就像1+1=2,没有任何实际意义,而是我们在生活中赋予了1的意义,2才有意义。结果才有意义