C 的庫應該更好用

2021-06-16 02:18:25 字數 1016 閱讀 2331

不要重複造輪子!一遍一遍我們說著這樣的話。可是為什麼c/c++的api那麼難用(尤其windows下的)。每次我們都把時間浪費在了實現簡單邏輯而不是實現領域模型上了,其實,我們根本沒有足夠好的輪子。拋磚引玉,乙個在windows下檔案及資料夾操作的封裝。 c++沒有理由不能像python一樣易用,至少某些庫可以更潔一些。

common.h:

file.h

file.cpp

folder.h

folder.cpp

寫的乙個通用的庫,其中getrelativepath還未實現,覺得暫時只能實現同一碟符下的相對路徑,還沒找到統一的方法。

其它的都是很常見的操作,刪除啊,複製啊很方便,要在複製過程中顯示進度條也很容易。

最後還有個ioexception.h

還有什麼是你能做的?我覺得下面幾個都是突破口:

1. unit test, regexp: 這兩個乙個可以用cppunit,乙個可以用boost庫,都不錯,真的不需要造輪子了。

2. http related, smtp related(attach files) ftp:http可以做的事還很多,能輕易地用http模擬表單提交嗎?能提交檔案表單嗎?支援ssl嗎?如果不行,這些應該是網路庫必須的啊(可以試著對curllib做乙個封裝),smtp和ftp應該都有類似的方向。

3. process related(module related):程序間共享資料,windows api引數多,維護起來麻煩,想想我們要幹什麼:找到叫某名字的共享空間,向其中寫入或讀出資料,有鎖來保證讀寫,僅這些而已。 如果做的比較好,是不是連序列化也要一起做?這個要好好想想了。

4. thread related:執行緒池,簡單建立執行緒,這些都有文章可做

5. os version:有了vista之後,windows就更亂了,不同版本下的行為差得多,所以,要注意了。

6. xml parser: 必須的。

嗯,實現這些類庫**並不多,因為大多數都是對庫或系統api的封裝。但是,一旦有了這些輪子,你就可以全心全力的關注你的業務邏輯,領域模型了。

比Xshel更好用的 FinalShell

1.多平台支援windows,mac os x,linux 2.多標籤,批量伺服器管理.3.支援登入ssh和windows遠端桌面.4.漂亮的平滑字型顯示,內建100多個配色方案.5.shell,sftp同屏顯示,同步切換目錄.6.命令自動提示,智慧型匹配,輸入更快捷,方便.7.sftp支援,通過各...

自己動手,打造更好用的Django

django是python實現的重量級的web框架,特點是,寫的少,做的多,架構合理,容易維護,django為我們提供了大量的實用功能,但函式的名字不太好記,為了讓django更好用,我們可以按照自己的使用習慣,對django基礎功能函式進行二次封裝,打造更好用的django 對post請求進行封裝...

自己動手,打造更好用的Django

django是python實現的重量級的web框架,特點是,寫的少,做的多,架構合理,容易維護,django為我們提供了大量的實用功能,但函式的名字不太好記,為了讓django更好用,我們可以按照自己的使用習慣,對django基礎功能函式進行二次封裝,打造更好用的django 對post請求進行封裝...