原文发于:http://qing.weibo.com/2059598087/7ac2f90733002b1b.html

几乎所有的程序语言都是作为编程工具而出现的。因此每种语言必然有区别于其他语言的语法特性,后出现的语言可能会集成已出现程序语言的好的语法特性,也可能会适当创建合适的语言特性。早一些的,比如while、for、switch语句的出现。晚一些的,比如python中的生成器、生成器函数。在python中,还去掉了switch语句,增添了elif关键字。

因此,通过源代码学习一门语言是能力进阶毕竟的阶段。毕竟初学者只是鹦鹉学舌的使用一门编程语言。而通过学习前辈的程序源码,常常能豁然开朗,恍然大悟“原来还可以这样写代码”。这种恍然大悟当然可以通过个人的编程实践及聪明才智摸索创造出来。但终归是“重新发明轮子”,效率是比较低的。
比如C语言中,“赋值语句也是表达式”。这句话对于初学者而言是晦涩的。他决不至能独立创造出如下的代码来:

while(c = getchar())
{...
}

而更可能写出这样的代码:

c = getchar();
while(c)
{...c = getchar();
}

而无论在那种语言中,初学者都绝无可能无师自通的学会递归函数的编写。

void frecurse()
{…………frecurse()…………
}

而对于一个从C转到python的程序员来说,则可能会选择性忽略for、while语句中的else语句块。Python中去掉而来C语言中的switch语句,因为该语句太过于灵活容易出错。我也是在书上看到,原来switch语句中还可以嵌套if...else...语句。通过if...else...以及不使用break来控制程序流。显然,在这样宽容的约束之下,极可能产生控制流混乱的代码。正是因为switch语句这一缺点,在C#中,规定每一个case语句必须以break或者goto语句结束。这既限制但又保留了switch语句的灵活性。不过同样地,goto语句的不当使用仍会使程序流更难理解。由此看来,python中取消switch语句是明智的。只是对于C程序员而言,这多少会有些不太适应。

通过代码提高编程能力相关推荐

  1. 外文文献下载网站;数据获取网站;中文文献下载网站;论文原创性保真网站;外包项目申请网站;大数据比赛收录网站;提高编程能力;代码分享网站

    外文文献 名称:IEEE 简介:世界上最大的技术专业组织,180多本高质量期刊 网址:https://www.ieee.org/ 名称:Sci-Hub | Effective Data Cluster ...

  2. 编写五子棋程序时如何添加下棋时的音效_干货:如何提高编程能力

    注意!!本文字数较多!都是干货! 很多初学者都会遇到各种各样的问题,比如下面这些类型的: 1.只会像高中一样跟着课程学习 2.怎么可以脱离课本和教学视频自己编写一个小项目? 3.停于理论,不知道如何实 ...

  3. 程序员提高编程能力万无一失的办法

    那就是去读别人写的代码.读那些你常用的库.编程框架的源代码,读那些你景仰的大牛的源代码,读代码里的测试(测试本身就是一种有效的文档):读代码.改代码.运行代码. 其实,所谓写程序,大部分的时间都是花在 ...

  4. 计科专业的大一新生,如何提高编程能力?二哥简单说两句!

    大家应该都知道欧阳修的<卖油翁>的寓言小故事,油翁说的那句"无他,唯手熟尔",不仅适用于康肃公的射箭.油翁的倒油,也适合新手编程. 我上大学的时候由于老师水平太菜的原因 ...

  5. python记忆口诀-学妹问我: 如何提高编程能力

    聊天截图 聊天截图 前言 开局两张图,剩下全靠吹了. 上面这两张图便是写这篇文章的原由. 对话框的另一边,是一位大二计算机科班在读的小姐姐,看似平静的文字背后透露着迷茫与困惑,还对未来的焦虑. 透过屏 ...

  6. python记忆口诀-学妹问我:如何提高编程能力

    聊天截图 聊天截图前言 开局两张图,剩下全靠吹了. 上面这两张图便是写这篇文章的原由. 对话框的另一边,是一位大二计算机科班在读的小姐姐,看似平静的文字背后透露着迷茫与困惑,还对未来的焦虑. 透过屏幕 ...

  7. 怎么提高编程能力?逻辑思维能力?

    一.对于程序员的编程能力的提升. 学习一门简单而且可用性强的语言,写点自动签到.自动下动漫之类的日常小程序,提高编程兴趣(比如 python,可以选择教材 Learn Python The Hard ...

  8. 怎么深入学习计算机,深入提高编程能力

    笔者最近在学习计算机的过程中,好像遇到了瓶颈. 学了很多东西,但感觉都不是很精通,也不知道怎么深入下去,很焦虑很迷茫. 学了操作系统,学了计算机网络,学了数据结构与算法,深入学习了C语言,学了Pyth ...

  9. 提高计算机编程水平,写程序10大习惯和如何提高编程能力

    如何提高自己的编程能力 1. 扎实的基础.数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序.据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软 ...

  10. 计科专业大一学生一枚,如何提高编程能力?

    先简单介绍一下我的情况:大概去年的这个时候从学校毕业,二本A软件工程,现在在北上广深之一的某卫星城从事互联网相关工作,月薪勉强养活自己.看上去一份很没说服力的简历,希望我下面的话,不会让你有这个感觉. ...

最新文章

  1. TestNG如何用命令行运行
  2. oracle分歧处理,ORACLE 过程中容错处理
  3. 用C++实现十进制转二进制【个人思想】
  4. 数据分析必备:掌握这个R语言基础包1%的功能,你就很牛了
  5. Java多线程网络爬虫(时光网为例)
  6. EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs初始化的一些样式处理...
  7. 对php程序的理解,小魏谈对于php程序的理解
  8. C++_类和对象_C++继承_同名静态成员处理_父类子类中存在同名静态成员变量_同名静态成员函数时的处理方法---C++语言工作笔记066
  9. Boost::asio概览
  10. 5.SOA架构:服务和微服务分析及设计--- REST服务建模过程
  11. 10月17号PC端云音乐项目总结
  12. 简单介绍小系统车载中控导航上蓝牙模块
  13. Linux Redh9 下LumaQQ 2005的安装
  14. 如何写一份风投喜欢的商业计划书?【转载】
  15. 团队作业9——展示博客
  16. iOS应用开发入门(1)——第一个iOS应用
  17. 陌陌八成营收靠直播 直播行业已进入两极分化
  18. 过去一周区块链投融资事件回顾
  19. Android 安卓动画 属性动画 - 旋转动画
  20. 【Discuz!跨站脚本攻击】--跨站脚本攻击

热门文章

  1. 图数据挖掘--六度分隔
  2. 听比喻,懂原理(1)超五类双绞线和六类双绞线的区别
  3. logo设计软件哪个好用?小白也能学会的logo设计小技巧
  4. Progress实现进度条效果
  5. 编码论——PNG格式图片编码
  6. CentOS yum方式升级内核kernel
  7. [转]Sublime Text 2 设置文件详解
  8. django静态页面
  9. 波士顿大学 计算机专业,波士顿大学本科计算机专业课程设置是怎样的?
  10. 2018年海峡两岸光电展将在台北举办