iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 27
0
自我挑戰組

易讀程式之美學系列 第 27

抽離不相關子問題--1

本篇核心是「積極尋找並抽離不相關子問題」:

  • 看看特定的函數或程式區塊,自問「這段程式主要目的為何?」
  • 對每行程式問「是否與目的有直接的關係?或是處理其他解決目的所需要的不相關子問題?」
  • 如果解決特定不相關子問題的行數夠多,就抽離成獨立的函數

純工具程式碼

C++沒有比較簡單讀取整個檔案的方法,必須自行撰寫:

ifstream file(file_name);

// 計算檔案大小,配置緩衝區
file.seekg(0, ios::end);
const int file_size = file.tellg();
char* file_buf = new char [file_size];

//將整個檔案讀進緩衝區
file.seekg(0 ,ios::beg);
file.read(file_buf,file_size);
file.close();
...

這是很典型不相關子問題,應該抽取成為如 ReadFIleToString() 的新函數。

Reference

  • <<易讀程式之美學-提升程式碼可讀性的簡單法則 >>(The Art of Readable Code)

上一篇
變數與可讀性--3
下一篇
抽離不相關子問題--2
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言