- C/C++實踐進階之道:寫給程序員看的編程書
- 陳黎娟
- 448字
- 2020-06-29 11:37:43
5-7 總結一下:函數幫你編寫更好的代碼
很多《C語言程序設計》書上一般都有這么一個題目:
“編寫一個程序,實現兩個數的四則運算。”
這是考察讀者的多重選擇分支程序的設計能力,熟悉語法的讀者能夠很快寫出來:

其中:while((op=getchar())!= '\n')printf("error!");這句是一個技巧,是為了吸收第二個數字輸入后的回車符。
好了,這個程序運算基本沒有問題,但這不是一個好的代碼,好的代碼必須有一定的抽象性和層次性,一般來說,至少會把核心的運算部分抽象出來。這就是函數和接口存在的意義。
請看修改之后的代碼:


這個新的程序,體現出了用戶界面和核心計算相分離的原則,把計算部分聚合到了一個新的函數int calculator(float numberone,float numbertwo,char op,float *result);中,在任何程序中都可以通過這幾個接口調用它,現在編寫的控制臺程序,當變成Windows圖形界面程序的時候,一樣可以使用這個函數。
當然,這個案例比較小,看不出具體優勢來,我們稍微做一個大一點的程序。現在,題目的要求變了:用戶有很多四則運算要計算,用戶自己想控制程序的開始和結束。這時抽象,接口,代碼重復利用的優勢就會顯現出來。
推薦閱讀
- Python Network Programming Cookbook(Second Edition)
- Learning Salesforce Einstein
- Babylon.js Essentials
- C#程序設計(項目教學版)
- Programming Microsoft Dynamics? NAV 2015
- 零基礎學C語言(第4版)
- Flink技術內幕:架構設計與實現原理
- Puppet:Mastering Infrastructure Automation
- Visual Basic程序設計基礎
- C語言程序設計與應用實驗指導書(第2版)
- Isomorphic Go
- Java Web應用開發
- Python AI游戲編程入門:基于Pygame和PyTorch
- 流程讓管理更高效:流程管理全套方案制作、設計與優化
- Mastering High Performance with Kotlin