国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android 應(yīng)用程序的代碼異味檢測(cè)工具與方法綜述

2022-07-29 06:54王露穎邊奕心
關(guān)鍵詞:面向?qū)ο?/a>異味代碼

王露穎,邊奕心,趙 松,朱 曉,涂 杰

(哈爾濱師范大學(xué) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,哈爾濱 150025)

0 引言

代碼異味又被稱為代碼壞味道,最初是由Fowler提出的。代碼異味的存在增加了程序的維護(hù)成本,降低了代碼質(zhì)量。近年來(lái),隨著移動(dòng)通信技術(shù)的迅猛發(fā)展,移動(dòng)應(yīng)用程序已經(jīng)成為軟件行業(yè)的發(fā)展主體。因此,許多學(xué)者從不同的角度對(duì)Android應(yīng)用程序中的代碼異味進(jìn)行了廣泛和深入的研究,開(kāi)發(fā)了許多Android 應(yīng)用程序中代碼異味自動(dòng)檢測(cè)工具。研究發(fā)現(xiàn),用于檢測(cè)傳統(tǒng)桌面應(yīng)用程序代碼異味的檢測(cè)工具也可檢測(cè)Android 應(yīng)用程序中的代碼異味。但是,這些傳統(tǒng)的工具只能檢測(cè)Android應(yīng)用程序中面向?qū)ο蟮拇a異味。

不同于傳統(tǒng)的桌面應(yīng)用程序,Android 應(yīng)用程序中除了存在面向?qū)ο蟮拇a異味,還存在Android特有的代碼異味。隨著研究的不斷深入,研究者不斷提出針對(duì)Android 應(yīng)用程序中Android 特有代碼異味的檢測(cè)方法和工具,以便于日后對(duì)Android 應(yīng)用程序中特有的代碼異味展開(kāi)進(jìn)一步的研究。

目前,針對(duì)Android 應(yīng)用程序中的代碼異味自動(dòng)檢測(cè)工具種類繁多,功能和適用環(huán)境各不相同。本文對(duì)比分析了目前具有代表性的Android 應(yīng)用程序中的代碼異味檢測(cè)工具和方法,以便Android 應(yīng)用程序的研究人員在面對(duì)實(shí)際代碼異味時(shí),能夠選擇合適的檢測(cè)工具。

1 相關(guān)研究工作綜述

本文重點(diǎn)關(guān)注Android 應(yīng)用程序的代碼異味檢測(cè)工具。為了調(diào)查檢測(cè)工具的應(yīng)用情況,通過(guò)以下3 個(gè)步驟對(duì)文獻(xiàn)進(jìn)行檢索:

(1)定義搜索字符串。本文定義了3 組搜索字符串用于文獻(xiàn)搜索,見(jiàn)表1。主要在IEEE Xplore、ACM、Springer 和Google scholar 使用搜索字符串對(duì)文獻(xiàn)進(jìn)行了調(diào)查。

表1 用于文獻(xiàn)調(diào)查的3 組搜索字符串Tab.1 Three sets of search strings for literatures survey

(2)選擇主要研究對(duì)象。本文主要選取與Android 應(yīng)用程序中代碼異味研究相關(guān)的文獻(xiàn)。

(3)篩選目前開(kāi)源可獲取的自動(dòng)檢測(cè)工具。在這一步中,過(guò)濾掉已經(jīng)不可獲取、無(wú)法用于今后研究的Android 應(yīng)用程序代碼異味自動(dòng)檢測(cè)工具。

本文最終選取了14 篇文獻(xiàn),見(jiàn)表2。可以發(fā)現(xiàn),針對(duì)Android 應(yīng)用程序中代碼異味研究的論文,大多數(shù)都是在2015~2020 年發(fā)表的,并且在僅研究Android 應(yīng)用程序中面向?qū)ο蟮拇a異味時(shí),研究人員大多仍使用傳統(tǒng)的檢測(cè)工具。

表2 Android 應(yīng)用程序中代碼異味的相關(guān)文獻(xiàn)Tab.2 Literatures on code smells in Android applications

2 代碼異味檢測(cè)方法

2.1 代碼異味檢測(cè)流程

目前,代碼異味檢測(cè)方法的基本流程是相似的,如圖1 所示。

圖1 代碼異味檢測(cè)流程Fig.1 Code smells detection process

首先,對(duì)輸入的項(xiàng)目源代碼進(jìn)行預(yù)處理,提取出待測(cè)文件(如.java、.c 文件等);其次,根據(jù)不同的檢測(cè)方法,將處理好的代碼傳換成中間形式,如抽象語(yǔ)法樹(shù)列等結(jié)構(gòu);最后,使用不同的檢測(cè)方法對(duì)其中的代碼異味進(jìn)行檢測(cè),輸出檢測(cè)結(jié)果。

2.2 代碼異味檢測(cè)方法分類

由于代碼異味的存在增加了系統(tǒng)維護(hù)的難度,給軟件系統(tǒng)帶來(lái)了長(zhǎng)期隱患。因此,對(duì)軟件系統(tǒng)中異味進(jìn)行檢測(cè)是很有必要的?,F(xiàn)有的代碼異味檢測(cè)工具所使用的檢測(cè)方法主要可以分為5 類。對(duì)此可給出研究分述如下。

(1)基于癥狀的檢測(cè)方法。基于癥狀的異味檢測(cè)方法是利用不同的癥狀和概念來(lái)描述代碼異味,將異味的“癥狀”描述成中間形式后,轉(zhuǎn)化為檢測(cè)算法對(duì)其進(jìn)行檢測(cè)。

(2)基于度量的檢測(cè)方法?;诙攘康臋z測(cè)方法是最常用的代碼異味探測(cè)方法。這種檢測(cè)方法以邏輯表達(dá)式或條件表達(dá)式的形式,將一組度量和不同的閾值組合成一個(gè)檢測(cè)規(guī)則,以檢測(cè)代碼中的不同異味。

(3)基于搜索的檢測(cè)方法。基于搜索的檢測(cè)方法源于基于搜索的軟件工程(SBSE)相關(guān)研究。SBSE 使用基于搜索的方法來(lái)解決軟件工程中的優(yōu)化問(wèn)題,其中絕大多數(shù)的技術(shù)都應(yīng)用了機(jī)器學(xué)習(xí)算法?;谒阉鞯漠愇稒z測(cè)方法的提出,一定程度上彌補(bǔ)了之前的檢測(cè)方法在精確度上的不足。

(4)基于概率的檢測(cè)方法?;诟怕实臋z測(cè)方法通過(guò)確定一個(gè)類中存在異味的概率,來(lái)識(shí)別代碼中的異味類型。一些基于概率的檢測(cè)方法,還應(yīng)用了模糊邏輯規(guī)則和頻繁模式樹(shù),對(duì)代碼異味進(jìn)行探測(cè)。

(5)基于可視化的檢測(cè)方法?;诳梢暬臋z測(cè)方法可以通過(guò)半自動(dòng)化的過(guò)程來(lái)識(shí)別代碼中的異味類型。該方法使用如面向可視化的策略和可視化設(shè)計(jì)缺陷檢測(cè)策略等技術(shù),將人類的專業(yè)知識(shí)與自動(dòng)化的檢測(cè)過(guò)程相結(jié)合。

現(xiàn)有的檢測(cè)工具大多都是基于這些方法所提出的,本文對(duì)上述5 類檢測(cè)方法的優(yōu)缺點(diǎn)做了比較,見(jiàn)表3。

表3 不同代碼異味檢測(cè)方法比較Tab.3 Comparison of different code smells detection methods

3 Android 應(yīng)用程序的代碼異味檢測(cè)工具

從對(duì)Android 應(yīng)用程序中不同種代碼異味檢測(cè)的角度,可將現(xiàn)有Android 應(yīng)用程序中代碼異味檢測(cè)工具分為3 類:一類是僅支持Android 應(yīng)用程序中面型對(duì)象的代碼異味檢測(cè)的工具,另一類是僅支持Android 特有代碼異味檢測(cè)的工具,第三類是既支持面向?qū)ο?、又支持Android 特有的代碼異味檢測(cè)的工具。目前,可用于Android 應(yīng)用程序中代碼異味檢測(cè)的工具見(jiàn)表4。

3.1 僅支持面向?qū)ο蟠a異味檢測(cè)的工具

已有研究表明,傳統(tǒng)的代碼異味檢測(cè)工具可以用來(lái)檢測(cè)Android 應(yīng)用程序中面向?qū)ο蟮拇a異味。表4中加粗的JSpIRIT、DECOR、TACO、JDeodorant 和organic 表示已經(jīng)用于Android 應(yīng)用程序中的代碼異味檢測(cè)研究。

表4 Android 應(yīng)用程序中代碼異味的檢測(cè)工具Tab.4 Tools for detecting code smells in Android applications

同樣用于Android 應(yīng)用程序中面向?qū)ο蟮拇a異味檢測(cè)的工具還有inFusion。Mannan 等人使用inFusion 代碼異味檢測(cè)工具針對(duì)20 種面向?qū)ο蟮拇a異味,分析了其在Android 應(yīng)用程序和桌面應(yīng)用程序中的分布差異。但Rahkema 等人研究面向?qū)ο蟠a異味在Android 和IOS 應(yīng)用程序中的分布時(shí),發(fā)現(xiàn)inFusion 代碼異味檢測(cè)工具目前已經(jīng)無(wú)法獲取。經(jīng)過(guò)調(diào)查,當(dāng)下作為商業(yè)軟件的inFusion 確實(shí)已無(wú)法通過(guò)官方渠道免費(fèi)獲取。因此,后續(xù)無(wú)法使用inFusion 對(duì)Android 應(yīng)用程序中面向?qū)ο蟮拇a異味進(jìn)行研究,但iPlasma 可以替代inFusion 對(duì)部分面向?qū)ο蟮拇a異味進(jìn)行檢測(cè)。iPlasma 是一個(gè)面向?qū)ο筌浖到y(tǒng)質(zhì)量評(píng)估的集成環(huán)境,相當(dāng)于inFusion 的免費(fèi)版。iPlasma 使用基于度量的方法對(duì)代碼異味進(jìn)行檢測(cè),但是iPlasma 的功能遠(yuǎn)沒(méi)有inFusion 強(qiáng)大,也只能夠檢測(cè)到11 種代碼異味,而inFusion 則可以檢測(cè)到22 種代碼異味。

綜上所述,研究者在研究桌面應(yīng)用程序中面向?qū)ο蟮拇a異味時(shí),開(kāi)發(fā)的檢測(cè)工具可以用于檢測(cè)Android 應(yīng)用程序中面向?qū)ο蟮拇a異味。但是由于這些檢測(cè)工具大多以插件的形式存在,所以在檢測(cè)Andriod 應(yīng)用程序中面向?qū)ο蟮拇a異味時(shí),存在局限性。目前,Androd 應(yīng)用程序大多是在Android Studio 環(huán)境下開(kāi)發(fā)的。而在此之前,Androd應(yīng)用程序都是在Eclipse IDE 和ADT 環(huán)境下開(kāi)發(fā)的。在2015 年6 月ADT 不再提供更新支持后,開(kāi)發(fā)者逐漸使用Android Studio 開(kāi)發(fā)Android 應(yīng)用程序。因此,目前開(kāi)源的Androd 項(xiàng)目存儲(chǔ)庫(kù)中混合了有Android Studio 和舊的Eclipse 開(kāi)發(fā)的Android 項(xiàng)目。顯然,在Android Studio 中運(yùn)行JDeodorant、TACO、JSpIRIT 等來(lái)檢測(cè)代碼異味是不可能的,這就導(dǎo)致在運(yùn)行以Eclipse 插件的形式存在的工具、對(duì)Android 應(yīng)用程序中的代碼異味進(jìn)行檢測(cè)時(shí),會(huì)存在一些麻煩。雖然Google 公司為Eclipse 開(kāi)發(fā)的Android 項(xiàng)目提供了自動(dòng)遷移工具,使其可以由Android Studio 繼續(xù)開(kāi)發(fā),但并不支持反向遷移的情況,這就意味著研究者要是想用JDeodorant、TACO、JSpIRIT 等檢測(cè)由Andriod Studio 開(kāi)發(fā)的Andriod 項(xiàng)目時(shí),需要將Andriod Studio 項(xiàng)目文件夾修改為Eclipse 的正確結(jié)構(gòu),手動(dòng)完成反向遷移,不利于大規(guī)模實(shí)驗(yàn)研究。

3.2 僅支持Android 特有代碼異味檢測(cè)的工具

目前,在對(duì)Android 特有代碼異味的研究中,使用的開(kāi)源可獲取的自動(dòng)檢測(cè)工具主要有2 個(gè):aDoctor 和DAAP。2 個(gè)檢測(cè)工具的對(duì)比具體如下:

(1)2 個(gè)檢測(cè)工具在設(shè)計(jì)時(shí),參考的都是Reimann 等人提出的異味目錄。

(2)2 個(gè)檢測(cè)工具都利用抽象語(yǔ)法樹(shù)當(dāng)作中間形式來(lái)解析Java 程序。不同的是,DAAP 針對(duì)存在于XML 程序中的代碼異味,使用文檔對(duì)象模型(Document Object Model)來(lái)解析XML 程序。

(3)aDoctor 可以對(duì)其中5 種與能耗相關(guān)的代碼異味進(jìn)行重構(gòu),而DAAP 不能進(jìn)行重構(gòu)操作。

綜合前述分析可知,目前針對(duì)Android 特有代碼異味檢測(cè)的開(kāi)源工具還很少,且檢測(cè)方法單一。

3.3 既支持面向?qū)ο笥种С諥ndroid 特有代碼異味檢測(cè)的工具

Android 應(yīng)用程序中不僅存在傳統(tǒng)面向?qū)ο蟮拇a異味,還存在Android 特有的代碼異味。目前,2 類代碼異味都可以檢測(cè)的開(kāi)源工具只有PAPRIKA。PAPRIKA 采用基于度量的檢測(cè)方法,對(duì)Android 應(yīng)用程序中的代碼異味進(jìn)行探測(cè)。PAPRIKA 通過(guò)以下步驟對(duì)Android 應(yīng)用程序中的代碼異味進(jìn)行探測(cè):

(1)解析Android 應(yīng)用程序中的APK 文件,構(gòu)建PAPRIKA 模型。首先,使用Soot 框架及其Dexpler 模塊來(lái)分析APK 文件,從中提取度量信息,進(jìn)而構(gòu)造PAPRIKA 模型。

(2)將構(gòu)建好的PAPRIKA 模型存儲(chǔ)到一個(gè)圖形數(shù)據(jù)庫(kù)中。為了提供一種可擴(kuò)展的方法來(lái)分析整個(gè)Android 應(yīng)用程序,PAPRIKA 采用的是Neo4j 圖形數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)和查詢構(gòu)建好的PAPRIKA 模型,提取出度量信息。

(3)查詢圖,以檢測(cè)Android 應(yīng)用程序中的代碼異味。當(dāng)構(gòu)建好的PAPRIKA 模型被圖形數(shù)據(jù)庫(kù)加載和索引時(shí),就可以使用數(shù)據(jù)庫(kù)查詢語(yǔ)言來(lái)探測(cè)代碼異味。

在此基礎(chǔ)上分析可知,作為唯一一個(gè)既可以檢測(cè)Android 應(yīng)用程序中面向?qū)ο蟮拇a異味和特有代碼異味的工具,研究人員對(duì)PAPRIKA 檢測(cè)的異味種類不斷進(jìn)行擴(kuò)展。其中,Habchi 等人在研究Android 和IOS 應(yīng)用程序中的代碼異味時(shí),對(duì)PAPRIKA 的功能進(jìn)行了擴(kuò)展,使其可以檢測(cè)由C 和Swift 語(yǔ)言開(kāi)發(fā)的IOS 應(yīng)用程序中的代碼異味。研究結(jié)果表明,Android 應(yīng)用程序比IOS 應(yīng)用程序中存在的異味數(shù)量更多。Carette 等人在分析Android特有代碼氣味對(duì)應(yīng)用程序性能的影響時(shí),對(duì)PAPRIKA 進(jìn)行擴(kuò)展使其可以檢測(cè)和重構(gòu)3 種Android 特有的代碼異味。去除代碼異味后,可以提高Android 應(yīng)用程序的性能。Mateus 等人在研究由Kotlin 語(yǔ)言開(kāi)發(fā)Android 應(yīng)用程序是否可以提高軟件質(zhì)量時(shí),改進(jìn)PAPRIKA 使其可以檢測(cè)由Kotlin語(yǔ)言開(kāi)發(fā)的應(yīng)用程序中的代碼異味。最新研究指出,在由Kotlin 語(yǔ)言開(kāi)發(fā)的Android 應(yīng)用程序中,面向?qū)ο蟮拇a異味更為常見(jiàn)。目前,PAPRIKA 最多可以檢測(cè)4 種面向?qū)ο蟮拇a異味、13 種Android特有的代碼異味。

4 異味檢測(cè)工具的評(píng)價(jià)

不同的檢測(cè)工具對(duì)于不同規(guī)模、開(kāi)發(fā)語(yǔ)言的項(xiàng)目具有不同的檢測(cè)效果。目前,常用于評(píng)估檢測(cè)工具性能的指標(biāo)主要有 3 個(gè),分別是查準(zhǔn)率()、查全率()和值(),各指標(biāo)數(shù)學(xué)定義分別如下:

其中,(True Positive)為被檢測(cè)為正的正樣本數(shù);(False Positive)為被檢測(cè)為正的負(fù)樣本數(shù);(False Negative)為被檢測(cè)為負(fù)的正樣本數(shù)。

在檢測(cè)Android 應(yīng)用程序中面向?qū)ο蟮拇a異味時(shí),研究人員常使用傳統(tǒng)檢測(cè)桌面應(yīng)用程序中代碼異味的工具。對(duì)于此類檢測(cè)工具的檢測(cè)精度評(píng)價(jià)已有大量研究進(jìn)行了總結(jié)。其中,Lim重點(diǎn)評(píng)價(jià)了JSpIRIT、JDeodorant、DECOR 和TACO 四個(gè)傳統(tǒng)的檢測(cè)工具對(duì)Android 應(yīng)用程序中代碼異味的檢測(cè)效果。結(jié)果表明,在對(duì)Andriod 應(yīng)用程序中的代碼異味進(jìn)行檢測(cè)時(shí),4 個(gè)檢測(cè)工具的漏檢率極高。針對(duì)Andriod 應(yīng)用程序中的異味Large Class,DECOR作為其中檢測(cè)效果最好的工具,結(jié)果中的值僅為36%,而JDeodoran 則無(wú)法檢測(cè)出該異味。

目前,缺少對(duì)Android 特有代碼異味檢測(cè)工具的系統(tǒng)評(píng)價(jià)。因此,本文首先使用DAAP、aDoctor和PAPRIKA 分別對(duì)異味忽略成員的方法(Member Ignoring Method,MIM)進(jìn)行檢測(cè),然后利用查準(zhǔn)率、查全率和值對(duì)3 個(gè)檢測(cè)工具的檢測(cè)效果進(jìn)行評(píng)價(jià),從而探討3 個(gè)工具的檢測(cè)精確度。MIM 是指某個(gè)類中的方法,該方法既是非靜態(tài)方法,也是非空方法,但該方法沒(méi)有訪問(wèn)所在類的任何屬性。本文選取了6 個(gè)開(kāi)源Android 應(yīng)用程序作為待測(cè)試程序,詳細(xì)描述見(jiàn)表5。

表5 6 個(gè)Android 應(yīng)用程序及相關(guān)信息Tab.5 Six Android applications and related information

3 個(gè)檢測(cè)工具對(duì)6 個(gè)Android 應(yīng)用程序中異味MIM 的平均檢測(cè)結(jié)果見(jiàn)表6,具體檢測(cè)結(jié)果如圖2所示。從表6 和圖2 中可以看出,3 個(gè)工具對(duì)MIM的檢測(cè)性能綜合排名為:aDoctor>PAPRIKA>DAAP。由此可知,aDoctor 的檢測(cè)效果最好,其值較DAAP 平均提高16.18%、較PAPRIKA 平均提高5.11%。

圖2 不同工具在6 個(gè)Android 應(yīng)用程序上的檢測(cè)結(jié)果Fig.2 Detection results of different tools on 6 Android applications

表6 3 個(gè)檢測(cè)工具對(duì)MIM 的平均檢測(cè)結(jié)果Tab.6 Average detection results for MIM by 3 detection tools %

綜上所述,3 個(gè)工具對(duì)MIM 的檢測(cè)性能綜合排名為:aDoctor>PAPRIKA>DAAP。aDoctor 作為檢測(cè)效果最好的工具,值較DAAP 平均提高16.18%、較PAPRIKA 平均提高5.11%。

5 結(jié)束語(yǔ)

本文對(duì)近幾年用于Android 應(yīng)用程序中代碼異味檢測(cè)的工具和方法做了全面歸納與總結(jié),并對(duì)Android 特有代碼異味檢測(cè)工具的性能進(jìn)行了簡(jiǎn)單的評(píng)估。綜合目前的實(shí)際需求,Android 應(yīng)用程序中代碼異味的檢測(cè)工具和方法的未來(lái)研究方向包括:

(1)由于Android 應(yīng)用程序與傳統(tǒng)桌面應(yīng)用程序在程序結(jié)構(gòu)、API 調(diào)用、內(nèi)存、CPU、網(wǎng)絡(luò)、電池等方面的諸多差異,Android 應(yīng)用程序中代碼異味的種類及分布比傳統(tǒng)桌面應(yīng)用程序中的更復(fù)雜。因此,將傳統(tǒng)的檢測(cè)工具直接應(yīng)用在Android 應(yīng)用程序中的代碼異味檢測(cè)上,其檢測(cè)效果差且存在局限性。目前,針對(duì)Android 應(yīng)用程序中面向?qū)ο蟠a異味檢測(cè)的工具僅有PAPRIKA 一個(gè),且最多只能檢測(cè)其中的4 種代碼異味。為深入研究Android 應(yīng)用程序中的代碼異味,未來(lái)可以針對(duì)Android 應(yīng)用程序的架構(gòu),提出適合且檢測(cè)效果較好的代碼異味檢測(cè)工具。

(2)目前,針對(duì)Android 特有代碼異味檢測(cè)的具有代表性的工具只有DAAP、aDoctor 和PAPRIKA,且這3 個(gè)檢測(cè)工具都是基于度量的檢測(cè)方法所設(shè)計(jì)的。因此,在檢測(cè)的過(guò)程中會(huì)受到閾值局限,出現(xiàn)漏檢的情況,其檢測(cè)結(jié)果也并不理想。因此,未來(lái)可以參考面向?qū)ο蟠a異味檢測(cè)方法,基于其他檢測(cè)方法研發(fā)出檢測(cè)效果更好的檢測(cè)工具。

(3)許多研究者在研究傳統(tǒng)面向?qū)ο蟮拇a異味時(shí),針對(duì)多種異味之間的聯(lián)系、如共存進(jìn)行深入研究。而Android 應(yīng)用程序中不僅存在面向?qū)ο蟮拇a異味,還存在其特有的代碼異味。因此,針對(duì)2 類異味之間存在的聯(lián)系同樣也亟待繼續(xù)加大研發(fā)力度。目前,可同時(shí)檢測(cè)2 類代碼異味的工具有PAPRIKA,且其可檢測(cè)的異味種類有限。因此,為了方便探索Android 應(yīng)用程序中2 類代碼異味之間的聯(lián)系、進(jìn)行大規(guī)模實(shí)驗(yàn),未來(lái)可以繼續(xù)對(duì)PAPRIKA 進(jìn)行擴(kuò)展,使其可以檢測(cè)更多種類的代碼異味,還可以繼續(xù)探索其他檢測(cè)方法來(lái)檢測(cè)2 類代碼異味,提出更高效、便捷的檢測(cè)工具。

最后,本文研究可以給Android 應(yīng)用程序中的代碼異味的研究者提供一些參考,選擇合適的檢測(cè)和重構(gòu)工具,有助于后續(xù)對(duì)Android 應(yīng)用程序中的代碼異味進(jìn)行深入研究。

猜你喜歡
面向?qū)ο?/a>異味代碼
GEE平臺(tái)下利用物候特征進(jìn)行面向?qū)ο蟮乃痉N植分布提取
農(nóng)業(yè)工程學(xué)報(bào)(2022年10期)2022-08-22
用這些告別異味吧!夏天就要清清爽爽過(guò)!
神秘的代碼
基于Web的科研項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
一周機(jī)構(gòu)凈增(減)倉(cāng)股前20名
重要股東二級(jí)市場(chǎng)增、減持明細(xì)
生活小竅門2則
近期連續(xù)上漲7天以上的股
怎樣解決臥床老人身上的異味