大家都知道要写可读性高的程序,但何谓可读性高的程是呢?

所谓可读性高的程序,就是读你的程序如同读一篇文章一样,程序从上而下读完,就能了解你想表达的意思,没这种程序吗?若你去研读『算法(Algorithm)』方面的书籍,这种书籍通常不会使用特定的语言撰写,而是用一种中性的伪码(pseudo code),这种语言很类似Pascal,应该说Pascal是为了要让该语言接近算法的表示法,所以学了pseudo code的语法,但无论如何,算法的程序都非常好阅读,只要你认真的从头看到尾,都可以了解他想表达的方法,然后你可以用你擅长的程序语言去实做这个算法。

容易阅读的程序也该如算法的pseudo code一样,让看你的程序人就阅读像一篇文章的感觉,这也是为什么大家强调写程序要结构化,不要用goto,goto会让程序上下跳来跳去,很难阅读,而结构化会使程序由上而下执行,就像阅读文章一样顺畅。

(原創) 何谓可读性高的程序? (C/C++)相关推荐

  1. (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...

    在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有 ...

  2. (原創) array可以使用reference方式傳進function嗎? (C/C++)

    任何型態皆可用C++新提出的reference傳進function,array除了使用pointer方式傳進function外,當然也可以使用reference. 當使用pointer傳進functi ...

  3. (原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)

    Abstract因为Computer Vision的作业,之前都是用C# + GDI+写,但这次的作业要做Grayscale Dilation,想用STL的Generic Algorithm写,但C+ ...

  4. 别人的紅警心得(原創)

    我的紅警心得(原創) 2007-03-25 22:44:55 大 中 小 RA95  -----   一个熟悉而又陌生的名词. 曾率领上大红警组横扫上海滩的我在时隔多年后终于鼓起勇气做一个了断!   ...

  5. (原創) 如何自行在ThinkPad X61安裝Windows XP Professional SP3? (NB) (ThinkPad) (X61) (OS) (Windows)...

    Abstract 新一代的ThinkPad X61都已經安裝了Windows Vista,或許你因為各種理由想自己重新安裝Windows XP,並且升上SP3,本文是我的安裝心得. Introduct ...

  6. (原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)...

    Abstract VM並不是什麼新的觀念,透過VM我們可以在一個OS去執行其他OS,若我們將Quartus II也裝在VM中,將可解決一些長久以來Quartus II使用上所遇到的問題. Introd ...

  7. (原創) 如何正確安裝ThinkPad Travel UltraNav USB Keyboard驅動程式? (NB) (ThinkPad) (OS) (Windows)...

    Abstract俗稱外接小紅點鍵盤,若要能順利地取代ThinkPad原來鍵盤的所有功能,需要一些小技巧. Introduction使用環境:Windows XP Professional SP3 鍵盤 ...

  8. 黃埔書院最新原創博文兩篇合集賞析2019年7月22日 星期一

    請聽博士呢誦読如是全文如下.. 第一篇的標題是,在現場|劉革:遊吟於天地間的傳道者原創:書童嘉名黃埔書院昨天每個時代都有把藝術奉之高閣.拒於千裏之外的人:梵高的畫在其死後許多年才開始被發掘價值;王小波 ...

  9. (原創) 如何將編譯結果,統一放在一個目錄下? (SOC) (Quartus II)

    Abstract Quartus II預設會將所有檔案都放在project的根目錄下,導致根目錄檔案過多,管理不便,若能將編譯的結果統一放到其他目錄下,將有助於日後管理. Introduction 使 ...

最新文章

  1. FPGA开发中全局复位置位(GSR)
  2. InputStream OutputStream 傻傻分不清
  3. linux下1sa 密码失效,SA口令
  4. Linux环境下使用dosemu写汇编
  5. 4-希尔排序C实现(递增递减的简单转换)
  6. python的底层实现,Python封装底层实现原理详解(通俗易懂)
  7. 第三范式的作用_钟启泉:教学范式的转型,让一线教师面临三大挑战 | 头条
  8. 软件开发工作量的估算方法
  9. ps抠图技巧,抠头发
  10. 计算机连接不上蓝牙鼠标,蓝牙鼠标连接不上的解决方案
  11. jquery delay_jQuery delay()函数
  12. 大数据工程师需要学习哪些?
  13. Linux常用命令——mailq命令
  14. JS-for...in/for...of
  15. 2022.12.9 英语背诵
  16. Android 沉浸状态栏
  17. 写写自己找工作的经历
  18. Python3爬虫-04-模拟登录爬取企信宝200页数据
  19. GraphQL查询规范
  20. 【2020】07 留校

热门文章

  1. kafka内部消费偏移
  2. VB从程序中生成Exe文件
  3. CNCC2018 即将开幕,报名优惠截止倒计时5天!
  4. 便宜可靠的激光雷达可能要来了!Luminar关键部件成本降到3美元
  5. 活动报名 | 量子位携搜狐,与行业大咖一同解读AI芯片的前世今生
  6. iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码
  7. MySQL-bin.index no found (errcode:13-perssion)
  8. php随机数怎么获取?一个简单的函数就能生成
  9. B6-简析响应者链条
  10. Bug:Google Analytics例子未使用example.com