傳統的飯局規矩還是很多的,我只知道幾個最基本的。
父子不同席,不要大聲喧嘩(猜拳行令除外),長輩(貴人)坐尊位,飯店壹般以對著門口的位置為尊,家中以靠南(炕上)或靠北(地上)為尊,樓房對著門口位置為尊。
主不引客不動,就是主人沒說開始,就不要吃。
不能搶長輩的話頭。
不能說主人的不是。
忌吃相不雅。
忌坐姿不正。
陪客的話,客人飲酒要勸客人不停不能止,不能再客人前把飯吃完。客人吃好了,陪客也要放下吃好(沒吃飽等客人走了再補)
訂婚都有哪些約定俗成的規矩?
訂婚戒子,親朋好友吃飯。規矩人定的,看自己
約定俗成的規矩成語
約定俗成 [yuē dìng sú chéng]
生詞本
基本釋義 詳細釋義
解釋:指事物的名稱或社會習慣往往是由人民群眾經過長期社會實踐而確定或形成的。
出自:《荀子·正名》:“名無固宜,約之以命,約定俗成謂之宜,異於約則謂之不宜。”
語法:聯合式;作謂語、定語、賓語;含褒義
出 處
《荀子·正名》:“名無固宜;約之以命;約定俗成謂之宜;異於約則謂之不宜。”
有哪些約定俗成的規則
殺人償命欠債還錢
狼人殺遊戲過程中有哪些約定俗成的規矩
1.狼人殺人,必須所有狼人指定同壹目標方可殺人,如有壹狼人意見不合,則當晚無人死亡.
2.混血兒第壹晚上支援壹個人(不管支援人是什麽職業),只要被支援的人的陣營獲得勝利
那麽混血兒就獲得勝利,反之則輸. 而愛神和狼人戀使得愛神投向了狼人陣營,混血兒
支援了狼人,所以勝利條件與狼人相同,即狼人的勝利,也就是愛神和混血兒的勝利.
3.領導力是網遊狼人的壹個數值,當狼人時,具有;領導力;數值越高的玩家可以決定殺人
比如壹個0領導力的狼人A殺1號,另個領導力為1的狼人B殺2號,那麽2號玩家死,而
不是1號
有哪些約定俗成的東西
為您解答
所有語法規定,自然拼讀發音都屬於約定俗成。
景寧畬族人有哪些約定俗成的規則
殺雞不能把血滴在外面。
喜事喪事都要唱山歌。
每到三月三都要舉行篝火晚會。
新娘嫁出門時要哭。
新娘嫁出三天要回壹次娘家。
dota裏面有哪些約定俗成的潛規則
沒有啥規則,玩個遊戲有什麽規則,頂多有輔助和輸出之分,輸出拿人頭,輔助讓人頭,團戰保護輸出等
jdk內有哪些約定俗成的命名規則和規範
2017版的阿裏java開發手冊:比較多,只能復制壹部分,妳可以去百度具體的
壹、程式設計規約 (壹) 命名規約 1. 強制 程式碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。 反例: _name / __name / $Object / name_ / name$ / Object$ 2. 強制 程式碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式。 說明:正確的英文拼寫和語法可以讓閱讀者易於理解,避免歧義。註意,即使純拼音命名方式也要避免采用。 反例: DaZhePromotion [打折] / getPingfenByName() [評分] / int 某變數 = 3 正例: alibaba / taobao / youku / hangzhou 等國際通用的名稱,可視同英文。 3. 強制類名使用 UpperCamelCase 風格,必須遵從駝峰形式,但以下情形例外:(領域模型的相關命名)DO / BO / DTO / VO 等。 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 4. 強制方法名、引數名、成員變數、區域性變數都統壹使用 lowerCamelCase 風格,必須遵從駝峰形式。 正例: localValue / getHttpMessage() / inputUserId 5. 強制常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。 正例: MAX_STOCK_COUNT 反例: MAX_COUNT 6. 強制抽象類命名使用 Abstract 或 Base 開頭;異常類命名使用 Exception 結尾;測試類命名以它要測試的類的名稱開始,以 Test 結尾。 7. 強制中括號是陣列型別的壹部分,陣列定義如下:String[] args; 反例:使用 String args[]的方式來定義。 8. 強制POJO 類中布林型別的變數,都不要加 is,否則部分框架解析會引起序列化錯誤。 反例:定義為基本資料型別 Boolean isSuess;的屬性,它的方法也是 isSuess(),RPC框架在反向解析的時候,“以為”對應的屬性名稱是 suess,導致屬性獲取不到,進而丟擲異常。 9. 強制包名統壹使用小寫,點分隔符之間有且僅有壹個自然語義的英語單詞。包名統壹使用單數形式,但是類名如果有復數含義,類名可以使用復數形式。 正例: 應用工具類包名為 .alibaba.open.util、類名為 MessageUtils(此規則參考spring 的框架結構) 10. 強制杜絕完全不規範的縮寫,避免望文不知義。 反例: AbstractClass“縮寫”命名成 AbsClass;condition“縮寫”命名成 condi,此類隨意縮寫嚴重降低了程式碼的可閱讀性。 11. 推薦如果使用到了設計模式,建議在類名中體現出具體模式。 說明:將設計模式體現在名字中,有利於閱讀者快速理解架構設計思想。 正例:public class OrderFactory; public class LoginProxy; public class ResourceObserver; 12. 推薦介面類中的方法和屬性不要加任何修飾符號(public 也不要加),保持程式碼的簡潔性,並加上有效的 Javadoc 註釋。盡量不要在接口裏定義變數,如果壹定要定義變數,肯定是與介面方法相關,並且是整個應用的基礎常量。 正例:介面方法簽名:void f(); 介面基礎常量表示:String COMPANY = "alibaba"; 反例:介面方法定義:public abstract void f(); 說明:JDK8 中介面允許有預設實現,那麽這個 default 方法,是對所有實現類都有價值的預設實現。 13. 介面和實現類的命名有兩套規則: 1)強制對於 Service 和 DAO 類,基於 SOA 的理念,暴露出來的服務壹定是介面,內部的實現類用 Impl 的字尾與介面區別。 正例:CacheServiceImpl 實現 CacheService 介面。 2) 推薦 如果是形容能力的介面名稱, 取對應的形容詞做介面名 (通常是–able 的形式) 。 正例:AbstractTranslator 實現 Translatable。 14. 參考列舉類名建議帶上 Enum 字尾,列舉成員名稱需要全大寫,單詞間用下劃線隔開。 說明:列舉其實就是特殊的常量類,且構造方法被預設強制是私有。 正例:列舉名字:DealStatusEnum,成員名稱:SUCCESS / UNKOWN_REASON。 15. 參考各層命名規約: A) Service/DAO 層方法命名規約 1) 獲取單個物件的方法用 get 做字首。 2) 獲取多個物件的方法用 list 做字首。 3) 獲取統計值的方法用 count 做字首。 4) 插入的方法用 save(推薦)或 insert 做字首。 5) 刪除的方法用 remove(推薦)或 delete 做字首。 6) 修改的方法用 update 做字首。 B) 領域模型命名規約 1) 資料物件:xxxDO,xxx 即為資料表名。 2) 資料傳輸物件:xxxDTO,xxx 為業務領域相關的名稱。 3) 展示物件:xxxVO,xxx 壹般為網頁名稱。 4) POJO 是 DO/DTO/BO/VO 的統稱,禁止命名成 xxxPOJO。 (二) 常量定義 1. 強制不允許出現任何魔法值(即未經定義的常量)直接出現在程式碼中。 反例: String key = "Id#taobao_"+tradeId; cache.put(key, value); 2. 強制long 或者 Long 初始賦值時,必須使用大寫的 L,不能是小寫的 l,小寫容易跟數字1 混淆,造成誤解。 說明:Long a = 2l; 寫的是數字的 21,還是 Long 型的 2? 3. 推薦不要使用壹個常量類維護所有常量,應該按常量功能進行歸類,分開維護。如:快取相關的常量放在類:CacheConsts 下;系統配置相關的常量放在類:ConfigConsts 下。 說明:大而全的常量類,非得使用查詢功能才能定位到修改的常量,不利於理解和維護。 4. 推薦常量的復用層次有五層:跨應用***享常量、應用內***享常量、子工程內***享常量、包內***享常量、類內***享常量。 1) 跨應用***享常量:放置在二方庫中,通常是 client.jar 中的 constant 目錄下。 2) 應用內***享常量:放置在壹方庫的 modules 中的 constant 目錄下。 反例:易懂變數也要統壹定義成應用內***享常量,兩位攻城師在兩個類中分別定義了表示“是”的變數: 類 A 中:public static final String YES = "yes"; 類 B 中:public static final String YES = "y"; A.YES.equals(B.YES),預期是 true,但實際返回為 false,導致產生線上問題。 3) 子工程內部***享常量:即在當前子工程的 constant 目錄下。 4) 包內***享常量:即在當前包下單獨的 constant 目錄下。 5) 類內***享常量:直接在類內部 private static final 定義。 5. 推薦如果變數值僅在壹個範圍內變化用 Enum 類。如果還帶有名稱之外的延伸屬性,必須使用 Enum 類,下面正例中的數字就是延伸資訊,表示星期幾。 正例:public Enum { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);} (三) 格式規約 1. 強制大括號的使用約定。如果是大括號內為空,則簡潔地寫成{}即可,不需要換行;如果是非空程式碼塊則: 1) 左大括號前不換行。 2) 左大括號後換行。 3) 右大括號前換行。 4) 右大括號後還有 else 等程式碼則不換行;表示終止右大括號後必須換行。 2. 強制 左括號和後壹個字元之間不出現空格;同樣,右括號和前壹個字元之間也不出現空格。詳見第 5 條下方正例提示。 3. 強制if/for/while/switch/do 等保留字與左右括號之間都必須加空格。 4. 強制任何運算子左右必須加壹個空格。 說明:運算子包括賦值運算子=、邏輯運算子&&、加減乘除符號、三目運算子等。 5. 強制縮排采用 4 個空格,禁止使用 tab 字元。 說明:如果使用 tab 縮排,必須設定 1 個 tab 為 4 個空格。IDEA 設定 tab 為 4 個空格時,請勿勾選 Use tab character;而在 eclipse 中,必須勾選 insert spaces for tabs。 正例: (涉及 1-5 點) public static void main(String[] args) { 縮排 4 個空格 String say = "hello"; 運算子的左右必須有壹個空格 int flag = 0; 關鍵詞 if 與括號之間必須有壹個空格,括號內的 f 與左括號,0 與右括號不需要空格 if (flag == 0) { System.out.println(say); } 左大括號前加空格且不換行;左大括號後換行 if (flag == 1) { System.out.println("world"); 右大括號前換行,右大括號後有 else,不用換行 阿裏巴巴 Java 開發手冊 ——禁止用於商業用途,違者必究—— 6 / 37 } else { System.out.println("ok"); 在右大括號後直接結束,則必須換行 } } 6. 強制單行字元數限制不超過 120 個,超出需要換行,換行時遵循如下原則: 1) 第二行相對第壹行縮排 4 個空格,從第三行開始,不再繼續縮排,參考示例。 2) 運算子與下文壹起換行。 3) 方法呼叫的點符號與下文壹起換行。 4) 在多個引數超長,逗號後進行換行。 5) 在括號前不要換行,見反例。 正例: StringBuffer *** = new StringBuffer(); 超過 120 個字元的情況下,換行縮排 4 個空格,並且方法前的點符號壹起換行 *** .append("zi").append("xin")... .append("huang")... .append("huang")... .append("huang"); 反例: StringBuffer *** = new StringBuffer(); 超過 120 個字元的情況下,不要在括號前換行 *** .append("zi").append("xin")...append ("huang"); 引數很多的方法呼叫可能超過 120 個字元,不要在逗號前換行 method(args1, args2, args3, ... , argsX); 7. 強制方法引數在定義和傳入時,多個引數逗號後邊必須加空格。 正例:下例中實參的"a",後邊必須要有壹個空格。 method("a", "b", "c"); 8. 強制IDE 的 text file encoding 設定為 UTF-8; IDE 中檔案的換行符使用 Unix 格式,不要使用 windows 格式。 9. 推薦沒有必要增加若幹空格來使某壹行的字元與上壹行的相應字元對齊。 正例: int a = 3; long b = 4L; float c = 5F; StringBuffer *** = new StringBuffer(); 說明:增加 *** 這個變數,如果需要對齊,則給 a、b、c 都要增加幾個空格,在變數比較多的情況下,是壹種累贅的事情。 阿裏巴巴 Java 開發手冊 ——禁止用於商業用途,違者必究—— 7 / 37 10. 推薦方法體內的執行語句組、變數的定義語句組、不同的業務邏輯之間或者不同的語義之間插入壹個空行。相同業務邏輯和語義之間不需要插入空行。 說明:沒有必要插入多行空格進行隔開。 (四) OOP 規約 1. 強制避免通過壹個類的物件引用訪問此類的靜態變數或靜態方法,無謂增加編譯器解析成本,直接用類名來訪問即可。 2. 強制所有的覆寫方法,必須加@Override 註解。 反例:getObject()與 get0bject()的問題。壹個是字母的 O,壹個是數字的 0,加@Override可以準確判斷是否覆蓋成功。另外,如果在抽象類中對方法簽名進行修改,其實現類會馬上編譯報錯。 3. 強制相同引數型別,相同業務含義,才可以使用 Java 的可變引數,避免使用 Object。 說明:可變引數必須放置在引數列表的最後。(提倡同學們盡量不用可變引數程式設計) 正例:public User getUsers(String type, Integer... ids) 4. 強制外部正在呼叫或者二方庫依賴的介面,不允許修改方法簽名,避免對介面呼叫方產生影響。介面過時必須加@Deprecated 註解,並清晰地說明采用的新介面或者新服務是什麽。 5. 強制不能使用過時的類或方法。 說明:java..URLDecoder 中的方法 decode(String encodeStr) 這個方法已經過時,應該使用雙引數 decode(String source, String encode)。介面提供方既然明確是過時介面,那麽有義務同時提供新的介面;作為呼叫方來說,有義務去考證過時方法的新實現是什麽。 6. 強制Object 的 equals 方法容易拋空指標異常,應使用常量或確定有值的物件來呼叫equals。 正例: "test".equals(object); 反例: object.equals("test"); 說明:推薦使用 java.util.Objects#equals (JDK7 引入的工具類) 7. 強制所有的相同型別的包裝類物件之間值的比較,全部使用 equals 方法比較。 說明:對於 Integer var = ?在-128 至 127 之間的賦值,Integer 物件是在IntegerCache.cache 產生, 會復用已有物件, 這個區間內的 Integer 值可以直接使用==進行判斷, 但是這個區間之外的所有資料, 都會在堆上產生, 並不會復用已有物件, 這是壹個大坑,推薦使用 equals 方法進行判斷。8. 關於基本資料型別與包裝資料型別的使用標準如下: 1) 強制所有的 POJO 類屬性必須使用包裝資料型別。 2) 強制RPC 方法的返回值和引數必須使用包裝資料型別。 3) 推薦所有的區域性變數使用基本資料型別。 說明:POJO 類屬性沒有初值是提醒使用者在需要使用時,必須自己顯式地進行賦值,任何NPE 問題,或者入庫檢查,都由使用者來保證。 正例:資料庫的查詢結果可能是 null,因為自動拆箱,用基本資料型別接收有 NPE 風險。 反例:比如顯示成交總額漲跌情況,即正負 x%,x 為基本資料型別,呼叫的 RPC 服務,呼叫不成功時,返回的是預設值,頁面顯示:0%,這是不合理的,應該顯示成中劃線-。所以包裝資料型別的 null 值,能夠表示額外的資訊,如:遠端呼叫失敗,異常退出。 9. 強制定義 DO/DTO/VO 等 POJO 類時,不要設定任何屬性預設值。 反例:POJO 類的 gmtCreate 預設值為 new Date();但是這個屬性在資料提取時並沒有置入具體值,在更新其它欄位時又附帶更新了此欄位,導致建立時間被修改成當前時間。 10. 強制序列化類新增屬性時,請不要修改 serialVersionUID 欄位,避免反序列失敗;如果完全不相容升級,避免反序列化混亂,那麽請修改 serialVersionUID 值。 說明:註意 serialVersionUID 不壹致會丟擲序列化執行時異常。 11. 強制構造方法裏面禁止加入任何業務邏輯,如果有初始化邏輯,請放在 init 方法中。 12. 強制POJO 類必須寫 toString 方法。使用 IDE 的中工具:source> generate toString時,如果繼承了另壹個 POJO 類,註意在前面加壹下 super.toString。 說明:在方法執行丟擲異常時,可以直接呼叫 POJO 的 toString()方法列印其屬性值,便於排查問題。 13. 推薦使用索引訪問用 String 的 split 方法得到的陣列時,需做最後壹個分隔符後有無內容的檢查,否則會有拋 IndexOutOfBoundsException 的風險。 說明: String str = "a,b,c,,"; String[] ary = str.split(","); 預期大於 3,結果是 3 System.out.println(ary.length); 14. 推薦當壹個類有多個構造方法,或者多個同名方法,這些方法應該按順序放置在壹起,便於閱讀。 15. 推薦 類內方法定義順序依次是:公有方法或保護方法 > 私有方法 > getter/setter方法。 說明:公有方法是類的呼叫者和維護者最關心的方法,首屏展示最好;保護方法雖然只是子類關心,也可能是“模板設計模式”下的核心方法;而私有方法外部壹般不需要特別關心,是壹個黑盒實現;因為方法資訊價值較低,所有 Service 和 DAO 的 getter/setter 方法放在類體最後。 16. 推薦setter 方法中,引數名稱與類成員變數名稱壹致,this.成員名 = 引數名。在getter/setter 方法中,盡量不要增加業務邏輯,增加排查問題的難度。 反例: public Integer getData() { if (true) { return data + 100; } else { return data - 100; } } 17. 推薦回圈體內,字串的連線方式,使用 StringBuilder 的 append 方法進行擴充套件。 反例: String str = "start"; for (int I = 0; I < 100; i++) { str = str + "hello"; } 說明:反編譯出的位元組碼檔案顯示每次回圈都會 new 出壹個 StringBuilder 物件,然後進行append 操作,最後通過 toString 方法返回 String 物件,造成記憶體資源浪費。 18. 推薦下列情況,宣告成 final 會更有提示性: 1) 不需要重新賦值的變數,包括類屬性、區域性變數。 2) 物件引數前加 final,表示不允許修改引用的指向。 3) 類方法確定不允許被重寫。 19. 推薦慎用 Object 的 clone 方法來拷貝物件。 說明:物件的 clone 方法預設是淺拷貝,若想實現深拷貝需要重寫 clone 方法實現屬性物件的拷貝。 20. 推薦類成員與方法訪問控制從嚴: 1) 如果不允許外部直接通過 new 來建立物件,那麽構造方法必須是 private。 2) 工具類不允許有 public 或 default 構造方法。 3) 類非 static 成員變數並且與子類***享,必須是 protected。 4) 類非 static 成員變數並且僅在本類使用,必須是 private。 5) 類 static 成員變數如果僅在本類使用,必須是 private。 6) 若是 static 成員變數,必須考慮是否為 final。 7) 類成員方法只供類內部呼叫,必須是 private。 8) 類成員方法只對繼承類公開,那麽限制為 protected。 說明:任何類、方法、引數、變數,嚴控訪問範圍。過寬泛的訪問範圍,不利於模組解耦。思考:如果是壹個 private 的方法,想刪除就刪除,可是壹個 public 的 Service 方法,或者壹個 public 的成員變數,刪除壹下,不得手心冒點汗嗎?變數像自己的小孩,盡量在自己的視線內,變數作用域太大,如果無限制的到處跑,那麽妳會擔心的。
看似錯誤但約定俗成的成語有哪些
不約而同,密約偷期,約定俗成,海約山盟,人約黃昏,鶯期燕約,有約在先,暗約偷期,暗約私期 約定俗成 如約而至 有約在先