![](/img/trans.png)
[英]Best practice when waiting for multiple threads - time, count or something else?
[英]Is this a good practice? “/*/something/*/something//*/”
/*/ comment here
do some thing.
/*/
do some thing.
//*/
人們為什么要這樣寫代碼? 這是一個好習慣嗎?
它通常僅在暫時測試某些東西時使用。 也就是說,您永遠不要將這樣的代碼提交給版本控制,因為這可能會造成混淆。
例如,如果要測試兩種不同的計算方法,則可以使用此方法在它們之間進行切換。 就個人而言,我很少這樣做(如果有的話)。
對於那些不知道的內容,可以通過添加一個正斜杠在兩個代碼部分之間切換:
/*/ comment here
do some thing.
/*/
do some thing else.
//*/
//*/ comment here
do some thing.
/*/
do some thing else.
//*/
脾氣暴躁的做法。 死代碼與任何生產質量代碼無關。 如果確實存在舊的,失效的代碼適用的情況,則應將其重構為可以使用配置而不是重新編譯來打開/關閉的代碼。
我寧願做
#ifdef DOIT_ONE_WAY
do one way
#else
do another way
#endif
但這是一個品味問題
這使我感到困惑,並且需要我花一些時間來解析,所以不,我不認為這是一個好習慣。
我認為,凱恩答案中提到的任何輕松切換都是不值得的。 開發人員瀏覽器應易於發表評論。
對我來說,這只是令人困惑,而且絕對不是標准。
每個人都有自己的處事方式...我猜他們是這樣做的,所以您要做的就是在第一個注釋中添加一個/並刪除最后一個/,然后將注釋塊切換到另一組指令。
編輯:實際上,您要做的就是在第一個注釋中添加一個/,然后將其刪除以將其切換回去。
這令人困惑,並且缺乏編程美感。 做到這一點的一種好方法是使用C預處理器並對其進行編碼,如下所示:
#if 0
code block disabled
#endif
code block enabled
我認為這和Arkadiy提到的#ifdef方法是不好的,因為對多文件搜索所做的事情看起來都像是實時代碼,但可能並不取決於前幾行。
如果代碼是有效的#ifdef平台相關性,請確保這樣做,
但是如果它只是測試代碼等,我更喜歡突出顯示並插入C ++ //注釋,在Visual Studio中為Ctrl-K,C
這只是在兩個代碼塊之間切換的簡便方法(正如Kane Wallmann所說)。
將其保留在生產代碼中可能不是一件好事(如果需要,可以將其刪除並從源代碼管理中獲取),但是在開發時,這是一種能夠快速切換兩個實現(或存根某些代碼等)的便捷方法。 。
不一定是不好的做法,但是期望閱讀您的代碼的人會有不同的回答。 例如,我認為它確實很酷,但絕不會將這樣的代碼提交到存儲庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.