Facebook開(kāi)源開(kāi)發(fā)框架Hydra,能夠簡(jiǎn)化、動(dòng)態(tài)編寫(xiě)程序配置
Facebook開(kāi)源了能夠簡(jiǎn)單配置復(fù)雜應(yīng)用程序的開(kāi)發(fā)框架Hydra,不只能夠減少開(kāi)發(fā)者復(fù)制貼上樣板代碼(Boilerplate Code),也能動(dòng)態(tài)編寫(xiě)(Compose)配置,而且Hydra采用了可插拔架構(gòu),因此可以與原本組織的基礎(chǔ)設(shè)施良好的整合。
Hydra是一個(gè)輕量級(jí)的框架,可以透過(guò)編寫(xiě)以及覆蓋配置,來(lái)簡(jiǎn)化Python應(yīng)用程序的開(kāi)發(fā),特別是針對(duì)復(fù)雜應(yīng)用程序的開(kāi)發(fā)。開(kāi)發(fā)者利用Hydra,不必重新撰寫(xiě)大量的樣板代碼,就能夠輕易地加入新的功能,以符合新的使用案例和需求。
Facebook表示,代碼僵化是一個(gè)普遍的問(wèn)題,而Hydra提供了編寫(xiě)應(yīng)用程序配置的新方法,開(kāi)發(fā)者透過(guò)配置檔案或是命令列,就能變更應(yīng)用程序配置,而這解決了在修改配置時(shí),需要維護(hù)許多只有些微差別的應(yīng)用程序版本,或是需要新增自定義邏輯來(lái)覆蓋配置值,Hydra則讓?xiě)?yīng)用程序在執(zhí)行之前,就完成配置編寫(xiě)與覆蓋。
Hydra讓開(kāi)發(fā)者可以在本地或是遠(yuǎn)端啟動(dòng)應(yīng)用程序,并且使用同一個(gè)指令附加不同的參數(shù),就能執(zhí)行不同的工作,減少相關(guān)的腳本支持。Hydra提供了動(dòng)態(tài)命令列頁(yè)簽完成功能,幫助開(kāi)發(fā)者探索復(fù)雜配置選項(xiàng),也減少輸入錯(cuò)誤。臉書(shū)提到,Hydra解決了復(fù)雜應(yīng)用程序的工程問(wèn)題,加速開(kāi)發(fā)的速度,也減少錯(cuò)誤出現(xiàn)的機(jī)會(huì)。
整體來(lái)說(shuō),Hydra減少了在復(fù)雜應(yīng)用程序中,常見(jiàn)的樣板代碼,像是定義命令列標(biāo)簽、操作配置檔案以及配置日志等,并提供開(kāi)發(fā)者靈活的代碼開(kāi)發(fā)以及配置方法,增加開(kāi)發(fā)人員的效率。臉書(shū)提到,他們現(xiàn)在開(kāi)源Hydra供社群使用,而其可插拔的架構(gòu),除了可讓企業(yè)內(nèi)部開(kāi)發(fā)其他功能,也可以支持未來(lái)社群共同開(kāi)發(fā)的功能。