最近從碼農(nóng)變成了 *FC *
所謂的FC是Fault Coordinator的簡(jiǎn)稱泳秀,是負(fù)責(zé)管理協(xié)調(diào)Fault相關(guān)的角色洒扎。
FC的主要職責(zé)是管理每個(gè)Fault诡挂,確保Fault很及時(shí)有效地處理。
FC的工作的一部分是為Fault建立一個(gè)Jira Issue讥裤,可以讓開(kāi)發(fā)人員在上面記錄花費(fèi)的時(shí)間蛔添,以便于項(xiàng)目管理統(tǒng)計(jì)開(kāi)發(fā)人員的資源分配痰催,以及評(píng)價(jià)開(kāi)發(fā)人員的能力兜辞,查看開(kāi)發(fā)人員的產(chǎn)出。
而在公司龜速的網(wǎng)絡(luò)下陨囊,無(wú)論是Fault 管理系統(tǒng)還是Jira服務(wù)器都很慢弦疮。而在Fault特別多的時(shí)候夹攒,這基本上是FC的災(zāi)難
在萬(wàn)般無(wú)奈的情況下蜘醋,開(kāi)始寫(xiě)Web自動(dòng)化的工具來(lái)幫助自己半自動(dòng)化些重復(fù)的勞動(dòng)。
所以這個(gè)工具的基本需求在開(kāi)始前就已經(jīng)明確了咏尝,就是半自動(dòng)自己的一些重復(fù)勞動(dòng)压语。
原始的軟件工程是瀑布模型,是需求->設(shè)計(jì)->代碼->測(cè)試->交付编检,也就是說(shuō)剛開(kāi)始很難拿到工具胎食,這個(gè)不符合我的情況,我需要快速解決我的痛點(diǎn)允懂。
開(kāi)始設(shè)計(jì)之前厕怜,需要做些相關(guān)的需求細(xì)化。
- Fault 管理系統(tǒng)和Jira服務(wù)器是基于Web的蕾总,工具需要很好地支持Web
- 制作半自動(dòng)化的工具不能耗時(shí)太久粥航,占用工作資源
- 工具可以快速迭代,能很快幫助實(shí)現(xiàn)需求
經(jīng)過(guò)上述需求細(xì)化后生百,要滿足上面的需求递雀,做了以下的分析:
- 選擇支持Web良好的語(yǔ)言
- 語(yǔ)言需要有很多庫(kù)
- 支持快速迭代
- 方案實(shí)現(xiàn)簡(jiǎn)單易行,不占用太多時(shí)間
綜上所述蚀浆,基本上Python是符合我的要求的缀程。
在技術(shù)方案確定下后,下面開(kāi)始快速迭代市俊。
快速迭代的模型杨凑,就是每次出一個(gè)產(chǎn)品,包含客戶所要的一個(gè)功能摆昧,然后在使用中有新的需求再重新加撩满。
當(dāng)然快速迭代中是有一個(gè)問(wèn)題就是架構(gòu)設(shè)計(jì)可能會(huì)變動(dòng)的比較頻繁,這對(duì)代碼的之后的擴(kuò)展性不利(前提是架構(gòu)設(shè)計(jì)不是很好)据忘。所以在快速迭代中一定要考慮架構(gòu)的穩(wěn)健性和擴(kuò)展性鹦牛,不能寫(xiě)死。同時(shí)快速迭代的用戶體驗(yàn)非常好勇吊,至少我自己拿到后生活輕松了許多曼追。
當(dāng)選好模型后,我們就開(kāi)始真正的Coding汉规。
我們需要使用到urlib/urlib2還有Jira的Reset API礼殊,這樣可以方便地模擬Web相關(guān)操作驹吮。
在快速迭代時(shí),需要明白用戶最痛的點(diǎn)是什么這樣工具做出來(lái)才有用戶使用晶伦。而現(xiàn)在自己最大的痛點(diǎn)在于自己為每個(gè)Fault創(chuàng)建Jira Issue上碟狞。尤其是在Fault特別多的情況下特別明顯。自己一上午的時(shí)間都花在這個(gè)上面婚陪。 有了這個(gè)基本的痛點(diǎn)后族沃,自己就可開(kāi)始設(shè)計(jì)軟件基本的架構(gòu)了。
我們可以看到工具基本的時(shí)序圖不是很復(fù)雜泌参,所以從設(shè)計(jì)到功能實(shí)現(xiàn)只花了2天的時(shí)間脆淹。
在上圖有所謂的Fault File,這個(gè)Fault File的格式選擇讓我糾結(jié)了很久沽一,到底如何選格式呢盖溺?后來(lái)為了便于EXCEL做圖,就選擇了csv格式铣缠,這樣方便在EXCEL打開(kāi)烘嘱,有助于第二次開(kāi)發(fā)。而Python有csv相關(guān)的處理庫(kù)蝗蛙,可以很方便地處理數(shù)據(jù)蝇庭。
Jira的Python Reset相當(dāng)好用,很多Jira相關(guān)處理直接用API提供的函數(shù)即可歼郭。 而自己也實(shí)時(shí)試用了下遗契,發(fā)現(xiàn)十分好用。
至此病曾,第一階段的迭代就此完成