天天看點

【程式媛曬83行代碼】阿裡口碑精緻程式媛, 搜尋推薦組的JAVA女工程師

在中國程式媛中,他們的代碼有什麼樣的魅力,Aone聯合雲栖社群、餓了麼、釘釘、阿裡雲、天貓、口碑發起首屆程式媛比碼活動——不秀大長腿,秀高智商;不秀美圖照,秀代碼圖,參與曬碼互動遊戲赢“83行代碼”T恤!

我們來說說這群女工程師的第83行代碼及代碼背後的故事:

我是 阿裡口碑 搜尋推薦組的JAVA女工程師,花名妍霏。

不上相是以自拍比較少,好不容易才找到一張沒崩的自拍照騙。

【程式媛曬83行代碼】阿裡口碑精緻程式媛, 搜尋推薦組的JAVA女工程師

決定再發一張和我們口碑團隊的另外一位超漂亮精緻妹子的合照!口碑的精緻女工程師可是非常的多哦~

我們團隊還有大量的坑招人,包括不限于java/c++工程師,算法工程師等等,歡迎大家加入~ [email protected]

【程式媛曬83行代碼】阿裡口碑精緻程式媛, 搜尋推薦組的JAVA女工程師
我的第83行代碼來自 生成特定搜尋場景下所需要查詢的門店狀态值集合 的一段代碼,歡迎大家指正。

/**
 * 計算單個display_status
 *
 * @param status 展示狀态清單
 * @return 單個計算結果
 */
public static int getEngineDisplayStatus(Map<DisplayStatusEnum, Integer> status) {
    int resNum = 0;

    for (Map.Entry<DisplayStatusEnum, Integer> entry : status.entrySet()) {
        resNum = resNum + (int)(Math.pow(10, entry.getKey().getIndex()) * entry.getValue());
    }
    return resNum;
}           
/**
 * 遞歸計算所有的display_status
 *
 * @param statusList 展示狀态清單
 * @param boolList   狀态開關清單
 * @param resList    display_status清單
 * @param index      起始位置
 * @param calStatus  中間結果
 */
private static void calDisplayStatus(DisplayStatusEnum[] statusList, List<Boolean> boolList, List<Integer> resList,
                                       int index, Map<DisplayStatusEnum, Integer> calStatus) {
    if (index == statusList.length) {
        resList.add(getEngineDisplayStatus(calStatus));
        return;
    }

    DisplayStatusEnum displayStatusEnum = statusList[index];
    if (boolList.get(index)) {
        calStatus.put(displayStatusEnum, displayStatusEnum.getDisplayValue());
        calDisplayStatus(statusList, boolList, resList, index + 1, calStatus);
        if (displayStatusEnum != DisplayStatusEnum.MallDisplay) {
            calStatus.put(displayStatusEnum, displayStatusEnum.getDefaultValue());
            calDisplayStatus(statusList, boolList, resList, index + 1, calStatus);

            calStatus.put(displayStatusEnum, displayStatusEnum.getDisplayValue());
        }
    } else {
        calStatus.put(displayStatusEnum, displayStatusEnum.getDefaultValue());
        calDisplayStatus(statusList, boolList, resList, index + 1, calStatus);
    }
}           
/**
 * 計算指定環境下需要查詢的所有店鋪display_status值
 *
 * @param status 展示狀态清單
 * @return display_status最終計算結果
 */
public static String getDisplayStatusQuery(List<DisplayStatusEnum> status) {
    List<Integer> r = new ArrayList<Integer>();
    List<Boolean> boolList = new ArrayList<Boolean>();

    DisplayStatusEnum[] enumList = DisplayStatusEnum.class.getEnumConstants();
    for (DisplayStatusEnum e : enumList) {
        if (status.contains(e)) {
            boolList.add(true);
        } else {
            boolList.add(false);
        }
    }

    Map<DisplayStatusEnum, Integer> calcuStatus = new HashMap<DisplayStatusEnum, Integer>();
    calDisplayStatus(enumList, boolList, r, 0, calcuStatus);

    return StringUtils.join(r, " OR ");
}`           

與妍霏小姐姐互動,為她打call——> 點選進去妍霏曬碼

更多小姐姐,點選進入檢視代碼

有被代碼耽誤的釘釘吃貨程式媛,寫代碼寫到忘記吃飯的——采霜

她急需能把她從代碼中叫醒去吃飯的小夥伴,趕緊勾搭;

http://yq.aliyun.com/roundtable/126499/answer/170319#visit170319

有以代碼為樂的餓了麼大前端打(bei)雜(guo)工程師——敖天羽

http://yq.aliyun.com/roundtable/126499/answer/170299#visit170299

還有全棧美女工程師——前端後端一鍋端的——墨瑜女神

http://yq.aliyun.com/roundtable/126499/answer/170316#visit170316

還有阿裡雲活好碼贊,像男人一樣活着的技術專家小姐姐——清宵

http://yq.aliyun.com/roundtable/126499/answer/170296#visit170296

和天貓Java程式媛,happy(被)來(逼)的——采月

http://yq.aliyun.com/roundtable/126499/answer/170354#visit170354

阿裡口碑 搜尋推薦組的JAVA女工程師——妍霏

http://yq.aliyun.com/roundtable/126499/answer/214059#visit214059

阿裡口碑基礎平台技術部的工程師-銜遠,一個技術與馬甲線并存的mm

http://yq.aliyun.com/roundtable/126499/answer/248798#visit248798

雲栖社群聚能聊專家,具有知性溫婉氣質的——海洋的雲

http://yq.aliyun.com/roundtable/126499/answer/170290#visit170290

福州市五佰網絡科技有限公司的Java女工程師——江小白太白

http://yq.aliyun.com/roundtable/126499/answer/189332#visit189332

在下*的程式媛——cn_suqingnian

http://yq.aliyun.com/roundtable/126499/answer/170309#visit170309

交通銀行的前端女工程師——昆0830

http://yq.aliyun.com/roundtable/126499/answer/201979#visit201979