Python面試真題 - 是否遇到過(guò)python的模塊間循環(huán)引用的問(wèn)題,如何避免它?
【Python面試真題】- 是否遇到過(guò)Python的模塊間循環(huán)引用的問(wèn)題,如何避免它?
這是代碼結(jié)構(gòu)設(shè)計(jì)的問(wèn)題,模塊依賴和類依賴
如果老是覺(jué)得碰到循環(huán)引用,很可能是模塊的分界線劃錯(cuò)地方了。可能是把應(yīng)該在一起的東西硬拆開(kāi)了,可能是某些職責(zé)放錯(cuò)地方了,可能是應(yīng)該抽象的東西沒(méi)抽象
總之微觀代碼規(guī)范可能并不能幫到太多,重要的是更宏觀的劃分模塊的經(jīng)驗(yàn)技巧,推薦uml,腦圖,白板等等圖形化的工具先梳理清楚整個(gè)系統(tǒng)的總體結(jié)構(gòu)和職責(zé)分工
采取辦法,從設(shè)計(jì)模式上來(lái)規(guī)避這個(gè)問(wèn)題,比如:
1. 使用 “all” 白名單開(kāi)放接口
2. 盡量避免 import