導航:首頁 > 程序命令 > 程序員測試的代碼

程序員測試的代碼

發布時間:2022-08-21 07:20:48

① 如何提升程序員的代碼編寫能力

一、先列三個常見的開發場景:

1、拿到一個模塊詳細設計文檔,大部分程序員的通常做法就是開始搭建界面代碼,然後從第一個按鈕點擊事件或頁面Load事件開始寫第一行業務代碼。寫的差不多了,就運行一下,發現哪裡不是自己想的那樣,就改改,直到改到是自己預想的那樣。

2、做完了一個功能模塊或幾塊相關聯的功能模塊,輸入111asd,發現新建正常、保存正常,就提交給測試人員。測試員用測試用數據、測試場景用例來測試,發現有問題,就登記bug。對於嚴重的影響下一步測試的BUG,測試員就用內部IM通知這個開發人員。對於不影響繼續往下測試的BUG,測試員就登記下來,等程序員有空時處理。

3、程序員一般工作不希望大家打擾,所以開發起來就是開發。等手頭開發告一段落,就看看BUG庫。發現有與自己有關的BUG,就從第一個BUG開始看起。就開始通過IM和測試員掰扯起來(這不是個BUG啊、業務邏輯不是你想的那樣啊、我這里不能重現啊、你給的信息描述不清晰啊),於是IM幾來幾往,甚至跑過去當面交流一番,甚至會拉扯上產品經理一起討論,更甚者需要項目經理或產品經理發起一個會議來集體討論一下

這是不是很熟悉呢?這就是大部分程序員開發的三個步驟:寫代碼、自測、修復BUG。

二、說好的代碼設計、代碼測試呢?

代碼設計?那不是都有開發平台么,已經固化了啊。那不是維護舊功能做完善修改呢么,又不是寫新代碼,只能在現有代碼基礎上修改啊,你又不能大幅重構。

代碼測試?你丫需求討論期、產品設計期、設計評審期那麼長,都把研發項目時間佔光了,就留下2個星期讓我們寫代碼,我們哪裡有時間搞那麼深的測試。還想讓我們搞結對編程?還想讓我們搞測試驅動開發?

而且你看測試,什麼功能測試、集成測試、性能測試、安全測試、安裝部署測試、升級測試、遷移測試、UAT測試,一大堆測試,測試也需要很多時間。

一個項目,需求討論、產品范圍規劃與評審、產品設計與設計評審佔了一個半月,開發+自測就一個月,測試佔了一個半月,這就4個月了啊。

三、為啥程序員寫代碼總是寫寫測測?

剛才大家也都看到了,大部分程序員都是從界面代碼開始寫起,而且寫一寫,就運行一下看看。為什麼會是這種開發方式?

那是因為大部分程序員缺乏在腦子中的整體建模能力。只能做出來一點,真實的感覺一下,然後再往下。

有些是產品經理的上游就有問題,沒給出業務流程圖(因為產品經理也沒做過業務),也沒畫清楚產品功能操作流程圖。

為啥沒給出業務流程圖?因為產品經理不熟悉業務,另外,產品經理也沒有流程建模能力啊。為啥沒畫清楚產品功能操作流程圖啊?因為不會清晰表達流程啊。

很多產品經理、程序員,都缺乏分類、分層、相關、先後能力,更別說總結、洞察能力。

這是基本訓練,是一個做事頭腦清醒的人必備的技能,這不是一個程序員或產品經理或測試員的特定技能要求。

我經常看書就梳理書的脈絡,每看一本就寫一篇總結。我過去閑扯淡還梳理過水滸傳、紅樓夢的人物關系圖呢,其實就在事事上訓練自己的關聯性、層次性、洞察性。

我經常面試一個人時,我會問這樣的問題:「你把我剛才說的話復述一遍,另外你再回答一下我為什麼會這樣?」,其實,我就在看一個人的細心記憶、完整梳理、重現能力,我也在看一個人的梳理、總結、洞察能力。

我個人寫代碼就喜歡先理解業務流,然後理解數據表關系,然後理解產品功能操作流,大致對功能為何這樣設計、功能這樣操作會取什麼表、插入或更新哪些表,哪些表的狀態欄位是關鍵。

然後我寫代碼的時候,就根據我所理解的業務流、功能操作流、數據輸入輸出流,定義函數,定義函數的輸入與輸出。

然後,我會給函數的輸入值,賦上一些固定值,跑下來看看能否跑通這幾個關聯函數,看看還需要怎樣的新增函數,或者看看函數的輸入輸出參數是否滿足跑通。

剩下的事,就是我填肉寫詳細邏輯代碼了。

當然,大部分人沒我這樣的邏輯建模能力。怎麼閱讀理解也想像不出來,也沒法定義函數。畢竟有邏輯建模能力的程序員都很少,100個人里有10個,已經是求爺爺告奶奶好幸運了。

那怎麼辦呢?

我建議是分離分工配合,這就是現實中沒辦法的辦法。讓有邏輯建模能力的人來設計函數框架、來設計工具來設計代碼模板,然後讓沒有邏輯建模能力的人來填肉寫詳細邏輯代碼。

我們可以先從最緊要的模塊開始這么做。不緊要的模塊,還讓它放任自流,讓熟練手程序員繼續塗抹。

我曾經還讓有頭腦的程序員做榜樣,給大家分享他是怎麼規劃函數的,怎麼做維護性代碼的代碼結構改善的。但是發現效果並不佳,其他人並沒有因此能做代碼設計。可能邏輯建模能力是個人的基本素質,是從小到大訓練成型的,不是你一個大學已經幾年的人能夠短時間內可以訓練的。

所以啊,還是讓能走的人先走,讓從最緊要的模塊開始這么做。

不必擔心這樣做後,因為過去一件事被分工(一個做代碼框架一個填肉)成兩個人做了會降低工作效率。我們很多的工作效率低就是因為半瓶子醋搞出來的,來回反復修改。

真是應了劉德華在電影里說的那句話:說你又不聽,聽又聽不懂,聽懂了又不做,做又做不好,做不好還不服氣。

四、為什麼大部分程序員不做代碼測試或白盒測試或單元測試呢?

還是因為沒有代碼設計。因為沒有函數啊。所以,一個按鈕功能有多復雜,代碼就有多長。我見過2000行的函數,我也見過1000多行的存儲過程和視圖SQL。怎麼做白盒測試啊,這些代碼都粘在一起呢,要測,就得從頭到尾都得測。

所以啊,先學會設計函數,先寫好函數,這就求爺爺告奶奶了。很多開發了5年的熟練手程序員,可能都未必會寫函數。

函數的輸入輸出值就很有講究。很多人都寫死了,隨著版本迭代,發現過去定義的函數參數不夠用了,於是就新增了一個參數。然後,相關性異常就爆發了,其他關聯的地方忘改了,到底哪些有關聯,怎麼查啊,本系統沒有,沒准其他系統就調用你了,你根本不知道哪個神經人曾經COPY過你的代碼修吧修吧就改成了他的功能呢,而且裡面的很多代碼他看不懂也不敢刪,只要他實現的功能正常了他也不管了。於是,你改了你這個函數,他的系統就莫名出錯了。

所以,我一般會定義幾個對象來做參數。另外,我也很注重函數的日誌、函數的異常保護、異常拋出、異常返回。另外,我也很注重參數輸入值的合法性校驗。

所以啊,應該開發Leader們先制定函數編寫規范最佳實踐,輸入輸出參數怎麼定義比較好,函數的返回值如何定義比較好,函數的日誌記錄應該怎麼寫比較好,函數的異常保護、異常拋出、異常返回如何寫比較好。先教會一般程序員,先從會寫函數開始啊。

當然,你光有一份規范,程序員們還是不理解、不實際應用啊。所以,還得Leader們做好典型的代碼模板,裡面是符合函數規范的代碼框架,只有這樣,一般程序員們才會照貓畫虎適應了函數設計的編程習慣。

所以啊,我專門重新定義了leader的明確職責,其中第一個重要職責就是:負責工具/框架/模板/規范的制定,並且負責推廣且普及應用落地。

你不明確定義Leader的這個重要職責,你不對這個職責做明確的KPI考核,誰尿你啊。你以為好的工具/框架/模板/規范是靠人們的熱情、自發產生的么?我們還沒有那麼自覺高尚啊。

五、為什麼大部分程序員不寫注釋啊?

我經常說一句話,千萬別多寫注釋。為啥?

因為我們經常遇到的問題不是沒有注釋,而是更糟的是,注釋和事實代碼邏輯是不相符的。這就出現常見問題了:殘存下來的設計文檔是一個邏輯、注釋是一個邏輯說明、真實代碼邏輯又是一個,鍾表多了,你也不知道正確時間了。

所以啊,產品文檔、注釋、真實代碼,三者總是很難一致同步。我為了幾百人研發團隊能做到這個同步花了大量心血和辦法,但我最終也沒解決了這個問題,還把Leader們、總監們、我都搞的精疲力盡。

索性回歸到一切一切的本源,代碼,就是程序員的唯一產出,是最有效的產出。那麼,讓代碼寫的不用注釋也能看懂,咱得奔著這個目的走啊。

為啥看不懂,不就是義大利面條式代碼么,又長又互相交雜。

OK,我就規定了,每個函數不能超過50行。用這一個簡單規定和靜態代碼檢查插件,來逼迫大家嘗試著寫函數。有的函數屬於流程函數,是串起其他函數的,有的函數就是詳細實現函數,實現一個且唯一一個明確作用的。

有了流程函數和功能函數,而且每個函數不超過50行,這就比過去容易看懂了。

六、為什麼大部分程序員不抽象公共函數啊?

我經常說一句話:千萬別抽象公共函數啊。為啥?

因為大部分程序員缺乏抽象洞察能力。特別是有些積極熱情有餘、愛學習愛看書、半瓶子醋晃悠的二桿子,看了幾本UML、重構、設計模式、整潔代碼之道,就躍躍欲試了,還真敢給你抽象公共函數了。

一開始,他覺得80%相似,20%不相似,於是在公共函數裡面簡單寫幾個if..else做個區隔就可以。沒想到,越隨著版本迭代,這些功能漸漸越變越不一樣了,但是這個代碼已經幾經人手了,而且這是一個公共函數,誰也不知道牽扯多少,所以誰也不敢大改,發現問題了就加一個if..else判斷。

沒想到啊沒想到,這個本來當初公共的函數,現在變成了系統最大的毒瘤,最復雜的地方,誰也不敢動,除非實在萬不得已,手起刀落。

所以,我平時告誡程序員,純技術的、純通用的,你們可以嘗試搞搞抽象公共函數,對於業務的,你們還是簡單粗暴的根據Leader們做的代碼模板代碼框架,乖乖的復制、修改、填肉吧。

你們啊,先從做模板做代碼片段開始吧,咱們放到咱們內部代碼片段開源庫里,看誰的代碼片段被別人復制的多,說明你的代碼抽象設計能力越好了。那時候,我就大膽放心讓你撒丫子跑了。在沒有學會跑之前,給老子乖乖的復制、修改、填肉吧。

② 學軟體測試需要寫代碼嗎

軟體測試需要懂代碼嗎?這個行業現在還有很多的從業人員都有這樣的疑惑。

不過在回答這個問題之前,我們必須全面了解一下軟體測試扮演的角色。

軟體測試大概分兩種角色,業務型測試和技術型測試。

業務型測試,他的工作任務是在系統開發完成或大體完成的情況下參與驗證測試系統的功能及其完整性,這種測試角色需要是業務熟練,不一定要有編程能力。

技術型測試,技術型測試所關注的內容和業務型測試不同,要求掌握或是具備資料庫、編程能力、系統架構、數據設計和應用介面等技術能力。技術型測試也分為手工測試和自動化測試。手工測試也基本是不要求有編程能力;自動化測試,或者半自動化的,是需要代碼做為支撐的。

從技術方面來講,不懂代碼的軟體測試員不是根本意義上的軟體測試員。

軟體測試除了手工測試外,還有自動化測試、功能測試等,這些都需要我們基於現成工具開發腳本(要是要求高的話,還需要構建框架、甚至整套平台),這需要有編程能力。如果連工具都要自己開發,那對編程能力要求更高。

現在流行scrum等敏捷開發模式,這要求QA能與開發緊密結合,基於開發細節來衡量風險,執行測試。這也要求你要能開動程序的基本架構。

自動化測試工具無法解決全部的測試工作,測試人員要有探索精神,就像18、19世紀的科學家,為了進行科學探索,自己開發試驗工具。如果說你告別編程,可能你目前的測試工作已經模式化,對個人能力要求不高。

不懂代碼不是不能做測試,只是發展必然受限。

其實現在也有很多測試人員是不懂代碼的,但依然還在從事測試這方面的工作。在敏捷開發等新思路的影響下,BDD和TDD的開發管理方式已經開始被採用,測試和開發順序有部分顛倒了,自動化測試也有一部分可以用貼近自然語言的方式實現。

如果你有意在測試行業發展,請不要放棄代碼,多看看國外的前沿技術。

③ JUnit主要用來完成什麼

JUnit是一個java語言的單元測試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源於Kent Beck的sUnit的xUnit家族中最為成功的一個。 JUnit有它自己的JUnit擴展生態圈。多數Java的開發環境都已經集成了JUnit作為單元測試的工具
另外junit是在極限編程和重構(refactor)中被極力推薦使用的工具,因為在實現自動單元測試的情況下可以大大的提高開發的效率,但是實際上編寫測試代碼也是需要耗費很多的時間和精力的,那麼使用這個東東好處到底在哪裡呢?筆者認為是這樣的:
極限編程
要求在編寫代碼之前先寫測試,這樣可以強制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯,否則編寫的代碼很不穩定,那麼你需要同時維護測試代碼和實際代碼,這個工作量就會大大增加。因此在極限編程中,基本過程是這樣的:構思-> 編寫測試代碼-> 編寫代碼-> 測試,而且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫以後的代碼中如果發現問題可以較快的追蹤到問題的原因,減小回歸錯誤的糾錯難度。
重構
其好處和極限編程中是類似的,因為重構也是要求改一點測一點,減少回歸錯誤造成的時間消耗。
其他情況
我們在開發的時候使用junit寫一些適當的測試也是有必要的,因為一般我們也是需要編寫測試的代碼的,可能原來不是使用的junit,如果使用junit,而且針對介面(方法)編寫測試代碼會減少以後的維護工作,例如以後對方法內部的修改(這個就是相當於重構的工作了)。另外就是因為junit有斷言功能,如果測試結果不通過會告訴我們哪個測試不通過,為什麼,而如果是像以前的一般做法是寫一些測試代碼看其輸出結果,然後再由自己來判斷結果是否正確,使用junit的好處就是這個結果是否正確的判斷是它來完成的,我們只需要看看它告訴我們結果是否正確就可以了,在一般情況下會大大提高效率。

④ java程序員如何編寫更好的單元測試

一般來說,Java程序員要編寫更好的單元測試,可以從以下7個方面改善:
1、首先需要全面了解軟體開發測試的類型。單元測試用於測試各個代碼組件,並確保代碼按照預期的方式工作。
2、使用框架來用於單元測試。Java提供了若干用於單元測試的框架。TestNG和JUnit是最流行的測試框架
3、謹慎使用測試驅動開發。測試驅動開發(TDD)是一個軟體開發過程,在這過程中,在開始任何編碼之前,我們基於需求來編寫測試。由於還沒有編碼,測試最初會失敗。然後寫入最小量的代碼以通過測試。然後重構代碼,直到被優化。
4、測量代碼覆蓋率。代碼覆蓋率衡量(以百分比表示)了在運行單元測試時執行的代碼量。通常,高覆蓋率的代碼包含未檢測到的錯誤的幾率要低,因為其更多的源代碼在測試過程中被執行。
5、盡可能將測試數據外部化。在JUnit4之前,測試用例要運行的數據必須硬編碼到測試用例中。這導致了限制,為了使用不同的數據運行測試,測試用例代碼必須修改。
6、善用JUnit。與TestNG類似,測試數據也可以外部化用於JUnit。
7、使用斷言而不是Print語句。許多新手開發人員習慣於在每行代碼之後編寫System.out.println語句來驗證代碼是否正確執行。這種做法常常擴展到單元測試,從而導致測試代碼變得雜亂。除了混亂,這需要開發人員手動干預去驗證控制台上列印的輸出,以檢查測試是否成功運行。更好的方法是使用自動指示測試結果的斷言。

⑤ 什麼是程序員什麼是代碼

程序員所寫的代碼,是為某一特定程序或某一個應用程序所制定的編碼和內部測試的組織實施,使此應用或程序應能夠在程序員編寫的代碼中,實現各種功能。程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。代碼又臭又長
我見過最長的方法是5000多行,那段代碼沒人敢動,只敢往下加 if else,每次需要改這段代碼的開發都戰戰兢兢,生怕出現什麼莫名其妙的bug。java 可是一門面向對象的語言,一個方法裡面有5000多行可以說是很可惡的事情了。我想一開始代碼長度可能沒這么誇張,是什麼導致這種結果的?一個是當初寫這段代碼的人本身寫的是直來直去的方法,一堆if else ;後面迭代的開發,面對這么長的代碼瞬間失去了從頭讀到尾的耐心,直接繼續在後面加 if else 迭代,最後這個方法就變成了一個縫合怪一樣的玩意。
好的 sql 可以很大程度上簡化代碼的復雜程度,但是太過復雜sql 本身就會給後來的開發人員造成閱讀困難,結果又是變成一條無人敢動的祖傳代碼,我想這應該是不少公司極度抵制存儲過程的原因之一。當然不少銀行應用開發還是大量使用存儲過程,存儲過程有用武之地的,但是一個又臭又長的存儲過程就等著變成祖傳代碼吧。當年我見到一個60多個join的sql,看到第一眼就驚為天人從此難以忘懷,當然那段sql也成了沒人敢去動的代碼了。
代碼邏輯不明
代碼邏輯不明所以是我們開發很容易去犯的毛病,是一個不致命卻煩人的毛病。在代碼上的體現是,邏輯判斷寫的比較反人類各種雙重否定是肯定,不把你繞暈不罷休。或者是寫起代碼來東一榔頭西一棒槌,讓人不知道你想幹嘛。導致這個的原因有可能是開發人員在需求理解上出現偏差,做到後面發現不對勁,再回去改又不大可能了,只能硬著頭皮往下寫,結果就是代碼彎彎繞繞;還有很重要的鍋是在產品經理,任意變更需求,想一出是一出,開發人員無奈只能跟著想一出寫一出。還用可能是開發人員方法或者類命名太藝術了,什麼四川方言拼音這種沒有十年腦血栓想不出的命名咱就不說了。就說那種國產凌凌漆式的無厘頭命名——這看上去是個刮鬍刀實際上是個吹風機,就這種不知道讓人說什麼好。
規劃代碼的核心思想
吐槽了一堆代碼規范問題,接下來我們說說如何去規范我們的代碼以及如何做到就算開發人員更換了,或者項目轉手給他人了,仍然可以讓後面的開發可以無礙的去閱讀代碼修改代碼。當然各個公司/團隊都有自己的一套代碼規范,比如項目的結構、代碼命名風格、代碼格式等等。不同團隊有不同的風格,但核心思想是大同小異的。接下來我就我個人的開發經驗來分享一下一些代碼規范的思想。

⑥ 測試人員可以跟程序員要測試的代碼嗎

看不懂你說什麼;

如果是一個軟體項目的話軟體測試工程師當然可以拿源代碼進行測試啦,

⑦ 軟體測試需要寫代碼么多不多都是什麼代碼

測試分很多的:1.從軟體內部結構和具體實現的角度劃分
A.白盒測試 B.黑盒測試 C.灰盒測試
2. 從執行程序的角度
A.靜態測試 B.動態測試。
3.從軟體開發的過程按階段劃分有
A.單元測試 B.集成測試 C.確認測試 D.系統測試 E.驗收測試 。
具體看你想往哪方面發展。如果只做黑盒測試的話,這個最簡單會不會編程也無所謂,也可以不用培訓就在網上看看軟體測試面試的測試題,然後溝通能力強點,基本上可以面試通過。至於白盒測試、自動化測試這些都需要一定的編程能力,有的白盒測試甚至你的編程能要比程序員還要高。所以說能這樣的話你就要好好的系統的學學。至於時間各大培訓機構安排不一樣,有長友短看你自己選擇了。

⑧ 安卓開發中,怎麼對自己的代碼進行單元測試

單元測試(又稱為模塊測試)是針對程序模塊(軟體設計的最小單位)來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。在過程化編程中,一個單元就是單個程序、函數、過程等;對於面向對象編程,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
其實我們每天都在做單元測試。你寫了一個函數,除了極簡單的外,總是要執行一下,看看功能是否正常,有時還要想辦法輸出些數據,如彈出信息窗口什麼的,這,也是單元測試,把這種單元測試稱為臨時單元測試。只進行了臨時單元測試的軟體,針對代碼的測試很不完整,代碼覆蓋率要超過70%都很困難,未覆蓋的代碼可能遺留大量的細小的錯誤,這些錯誤還會互相影響,當BUG暴露出來的時候難於調試,大幅度提高後期測試和維護成本,也降低了開發商的競爭力。可以說,進行充分的單元測試,是提高軟體質量,降低開發成本的必由之路。
對於程序員來說,如果養成了對自己寫的代碼進行單元測試的習慣,不但可以寫出高質量的代碼,而且還能提高編程水平。
要進行充分的單元測試,應專門編寫測試代碼,並與產品代碼隔離。我認為,比較簡單的辦法是為產品工程建立對應的測試工程,為每個類建立對應的測試類,為每個函數(很簡單的除外)建立測試函數。

⑨ junit是什麼

junit是一個Java語言的單元測試框架,用於編寫和運行可重復的測試。他是用於單元測試框架體系xUnit的一個實例(用於java語言)。

junit由Kent Beck和Erich Gamma建立, JUnit有其自己的JUnit擴展生態圈。多數Java的開發環境已集成了JUnit作為單元測試的工具。用於測試期望結果的斷言,用於共享共同測試數據的測試工具,用於方便的組織和運行測試的測試套件及圖形和文本的測試運行器。

(9)程序員測試的代碼擴展閱讀:

Junit測試

Junit測試為程序員測試,即所謂白盒測試,程序員知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。

1、測試計劃階段:根據需求說明書,制定測試進度。

2、測試設計階段:根據代碼的功能,人工設計測試用例進行基本功能測試。依據程序設計說明書,按照一定規范化的方法進行軟體結構劃分和設計測試用例。

3、測試執行階段:輸入測試用例,得到測試結果。

4、測試總結階段:對比測試的結果和代碼的預期結果,分析錯誤原因,找到並解決錯誤。

⑩ 我該如何寫單元測試

�0�2 在我的團隊中,單元測試是較難推行的敏捷實踐之一,我思考後覺得有以下原因:1、主觀上覺得會加大工作量,影響進度2、從未接觸junit等單元測試框架,害怕接觸新事物3、團隊形式上要求、形式上開展,但是未能結合培訓、Code Review等方式持續推行�0�2�0�2 其實單元測試是個相當簡單的技術,當然,要做的完美也要花很多的心思。單元測試無非就是:AAA模式——Arrange(測試設置)、Act(調用測試里的代碼)、Assert(測試通過的標准)。測試設置:測試環境的准備,例如構造mock對象,設置資料庫表數據等Act: �0�2�0�2�0�2 編寫測試方法,調用被測試代碼Assert: 利用斷言設置通過的標准�0�2�0�2�0�2 很多開發人員不寫單元測試,但是他會寫個main方法去測試代碼,這樣做不好的地方在於測試的方法提交後一般要求會刪除掉,不能做沉澱。main方法也不能進行自動執行測試。我建議還未踏入門檻的程序員可以先把main方法要寫的測試代碼,使用單元測試的結構搬到單元測試中。踏出第一步,關鍵你已經出發,你要在路上!�0�2

閱讀全文

與程序員測試的代碼相關的資料

熱點內容
window怎麼登陸伺服器 瀏覽:986
Python取ID對應的值 瀏覽:632
現在我的世界什麼伺服器最混亂 瀏覽:764
美國好的源碼出售 瀏覽:325
蘋果ipad文件夾怎麼添加文字 瀏覽:485
騰訊雲連接自己的伺服器地址 瀏覽:218
碩士英語綜合教程pdf 瀏覽:46
分段加密的安全性 瀏覽:507
咪咕直播為什麼沒有適配安卓系統 瀏覽:172
php模版大全 瀏覽:102
沒車能解壓嗎 瀏覽:634
php開發oa系統源碼 瀏覽:759
怎麼安裝蘋果ios的app 瀏覽:581
app拉新如何機刷 瀏覽:480
zendeclipseforphp 瀏覽:480
同時有幾個微信如何加密微信 瀏覽:86
大眾20t壓縮比 瀏覽:566
程序員要記住的500個單詞 瀏覽:831
wq快捷方式在哪個文件夾 瀏覽:965
雲南到河北源碼 瀏覽:92