Re: [問題] .h宣告和定義分開的理由

看板C_and_CPP作者 (我愛ASM)時間15年前 (2009/04/07 14:53), 編輯推噓0(005)
留言5則, 1人參與, 最新討論串4/4 (看更多)
從用的人的觀點來看,如果只是要用您寫的東西。第一件事就是看您 header file 的定義去用。至於您實做內容如何不是我考慮的重點。 如果您通通搞在一起做瀨尿牛丸,那你的程式大概會被我丟在資源回 收筒。 另外header files通常也定義一堆巨集的設定,我在使用RTOS就一堆 巨集設定,要通通跟程式碼放在一起我也會很痛苦。 最近"C Programming FAQs: Frequently Asked Questions"出中文簡 體版,可以去找找看。裡面關於這類議題也有一些討論。 程式不是自己寫爽的就好,也要想想用你程式的人的心情。XD ※ 引述《godman362 (Shizuru)》之銘言: : 小弟寫程式也三年了 : 最近開始邁入小型的專案開發 : 但是我看了很多專案的程式碼 : 大多都是將.h檔的定義和宣告分開來放 : 我看過較多的說法是說不想將實作公開出來 : 但是我覺得這個說法似乎有些微的牽強 : 所以想請問一下各位先進,真正分開做的理由是甚麼? : 還請各位指點一番。 -- 不要問我從哪來,我只是一個浪跡天涯的工程師.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.132.20.85

04/07 15:27, , 1F
我覺得把實作收起來是利用 header 的好處,但不是其目的
04/07 15:27, 1F

04/07 15:27, , 2F
java/C# etc 一樣可以讓用的人不理會實作
04/07 15:27, 2F

04/07 15:27, , 3F
更何況, header 透露給使用者不必要的資訊其實有很多
04/07 15:27, 3F

04/07 15:28, , 4F
比如 private members, 要是隱藏實作是其目的, 那麼
04/07 15:28, 4F

04/07 15:29, , 5F
就不會出現像現在的 header 的樣子(暴露private mbr)
04/07 15:29, 5F
文章代碼(AID): #19slXZ5n (C_and_CPP)
文章代碼(AID): #19slXZ5n (C_and_CPP)