前言
代碼註釋作爲編程語言的“說明文檔”,它的作用不容小覷。然而,現實的開發中出現了不少不重視代碼註釋的行爲。比如不寫註釋又命名的不規範,讓人看了一頭霧水。又比如有些人利用代碼註釋開車,搞笑。對此,我想說,能不能有點創意?
*科技系註釋
/***
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
* │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
* │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
* │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
- 佛系註釋
* 佛祖保佑 永無BUG
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* . ' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
*
* .............................................
* 佛祖保佑 永無BUG
*/
- 開車系註釋
* .::::::::.
* ::::::::::: FUCK YOU
* ..:::::::::::'
* '::::::::::::'
* .::::::::::
* '::::::::::::::..
* ..::::::::::::.
* ``::::::::::::::::
* ::::``:::::::::' .:::.
* ::::' ':::::' .::::::::.
* .::::' :::: .:::::::'::::.
* .:::' ::::: .:::::::::' ':::::.
* .::' :::::.:::::::::' ':::::.
* .::' ::::::::::::::' ``::::.
* ...::: ::::::::::::' ``::.
* ````':. ':::::::::' ::::..
* '.:::::' ':'````..
*/
…
特麼,你們能不能再有創意些?
作爲一種編程語言,但JAVA本質上還是英文,所以,閱讀代碼就好比閱讀一篇英文美文就越能證明編寫者水平。因此,好的註釋習慣必不可少。
- 類註釋
/*
* 【Author】 愛喫早餐的程序員
* 【Time】2020年1月8日 下午5:07:25
* 【Function】 這個是XXXX的接口
*/
public class KerryCall {
// private static SSLClient httpClient = null;
}
- 局部變量註釋
private static final int SocketTimeout = 5000; // 請求超時時間毫秒
- 方法註釋
/**
* 獲取請求需要的token
* @param name 用戶名
* @param appKey 密鑰
* @param serverurl 地址
* @param order 訂單
* @return
*/
public static Map<String, String> getToken(String name,String appKey,String serverurl) {
// 略
}
- 具體代碼中的註釋
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<SubmitOrder>");
sb.append("<StoreLogin>"+"gmarket"+"</StoreLogin>"); //API用戶名
sb.append("<Token>"+token+"</Token>"); //UCS預先爲您分配的授權碼
sb.append("<Carrier>FTZKR</Carrier>");
sb.append("<UserID>jairus1</UserID>"); // 這個參數目前還不知道
- 最無語的註釋
int i = 1000; // 這裏請求初始值爲1000,客戶使用費用基於1000 ,防止跟客戶討價還價,方便賺小費
SecretKey key = kg.generateKey();
- 教導式的註釋
/***
* 致終於來到這裏的勇敢的人:
* 當你看到這段註釋的時候,我已經離職了大概一個星期了......
* 你是被上帝選中的人,是英勇的、不敵辛苦的、不眠不休的來修改我們這最棘手的代碼的編程騎士。
* 你,我們的救世主,人中之龍,我要對你說:永遠不要放棄,永遠不要對自己失望,永遠不要逃走,辜負了自己,
* 永遠不要哭啼,永遠不要說再見,永遠不要說謊來傷害自己。
* 這個公司沒有年終獎的,兄弟別指望了,也別來了,我準備辭職了
* 另外這個項目有很多Bug 你堅持不了多久的,我先走一步了拜拜!
*/
好了以上就是經常用到的註釋類型,如何優雅的使用註釋,大家都會了嗎?