首页 » 随口说 » 正文

实战学习中的”代码要多练”是怎么个练法?

  话说 练武“练拳不练功,到老一场空”。 力量、速度、柔韧性、抗击打等基本功很重要,仅仅是练套路、动作是没用的。

  技术也一样。很多同学看技术视频只看不练,认为看懂了就算会了。其实也是“学技术不练,明日就一场空“。


   那么问题来了,传说中的代码要多练,怎么个练法?

  

  之前在群里 有同学很诧异我在课程视频里打代码打的很six,遂询问有啥诀窍吗?

  

   可能我在群里回话就回复的不太严谨,于是说了句:“别看我视频里打这么快。其实背后这段代码我已经练了几十遍了”。

  

   问题又来了。 有部分学员认为我是把 同一段代码敲了 几十遍。。。。。。。


   很久很久以前大学老师教我们写代码,就有异曲同工之样。老师经常把代码敲一遍,然后当着我们的面” 夸嚓  “删了,又无比轻巧的打了一遍。反复2次,然后告诉我们:“要想熟练,就要这么练”。

 

  这种方法和抄书没啥太大区别,对于学习基本命令和语法时是挺有用的。 那么到了实战学习中,我们是否也是这么 夸嚓、夸嚓?

  答案并不是这样的。


  我要开始变形了,请大家注意。


  for example:

  譬如我练习sql语句和代码结合。以insert into 这SQL为例,看我是怎么反复练几十遍的

 第一写:

   insert into table(xxx) values(xxx) . 这个得写两遍,认识到插入语句的写法

 第二遍写:

  拉起程序,利用老外帮我们弄好的sql驱动,如jdbc啊之类的,调用下原生SQL。体验下程序执行原生SQL的快感。 期间要对class.forName这种玩意有所了解。为啥tmd只要写个forName就能用了。

 第三写:

   这时就要尝试用ORM写写了。体验下模型操作数据库的快感,写出面向对象化的代码

 第四遍写:

   就要想想了。如果有个字段是唯一的,譬如username 不能重复。那我直接写insert 插入重复值咋办? 此时你就学到了唯一索引,顺便把ON DUPLICATE KEY UPDATE 也学了

  第五写:

   比较不同ORM插入数据的区别,至少掌握mybatis或hibernate的两种框架。

  第六写:

    如果我们同时在两张表插值,那么事务怎么玩

  第七遍:

    开始学习主从。了解读写分离,同样是insert 

  第八遍:

    数据量大了。insert 感觉好慢? 是吗? 那么就要学一学水平分表,顺便学习下分库分表中间件

  第九遍:

    尝试用协程 执行多个insert 。此时就要学习更多 高逼格语言

 第10遍:

    考虑insert 的同时,往redis插入缓存

 第11遍:

    你会发现要学的东西越来越多了。 这一切都是insert into 帮你牵扯出来的。不是吗?


  实战学习中反复练,其实并不是反复写同一段代码
 

   而是每次写都有改进 都有逼格的提高、都有不同场景的应用、都有技术境界的提升。强迫你学会思考、学会探索。强迫把你的未知知识点带出来。


    

  

 


  

本文共 3 个回复

  • 匿名 2019/08/23 12:08

    写得好

  • 匿名 2019/08/23 13:01

    戳中泪点了

  • 匿名 2019/08/26 18:25

    diao~

发表评论