鑑於我正在使用預先存在的使用唯一字符串作爲線程ID的評論/討論解決方案,我需要從適用於以下約束的線程ID的任意對象創建面向用戶的slug:我應該如何從一個對象創建一個乾淨的面向用戶的slu??
- 短
- 「漂亮」
- 人類可讀
- 沒有透露內部每個對象實例
- 獨特
我曾考慮過使用{FQCN}-{id}
,但它違反了#4,並且在進行網絡編碼時,#2。我也考慮過一個相同的md5散列,但是違反#3(可能#1,取決於「short」的定義)。
由於對象沒有標準化的API(例如,並不能保證它們都會有getTitle()
方法),所以我不知道如何設計出一個適合的子彈這些限制。你將如何去創建一個,如果這是不可能的,你會使用什麼樣的格式,儘可能少地受到限制?
什麼是「slu」「? –
http://en.wikipedia.org/wiki/Slug_(web_publishing) – Problematic
你是什麼意思的「人類可讀」?它是否必須由英文單詞組成,或僅僅是大量的可讀文本? –