咨詢郵箱 咨詢郵箱:service@yitianxinda.com 咨詢熱(rè)線 咨詢熱(rè)線:400-668-3065 微(wēi)博 微(wēi)信
您的(de)位置:首頁 > 新聞動态 > 行(xíng)業(yè)新聞 > >
7個(gè)軟件(jiàn)開(kāi)發原則,軟件(jiàn)開×♦₩ (kāi)發
發表日(rì)期:2015-07-08    文(wén)章(zh§÷αāng)編輯:鄧俊浩    浏覽次數(shù):

  然後反過去(qù)把訊息傳給Printer.

參見(jiàn):Mtomefitsin Fowler↕☆±≥:Refprofessioninging:Improve φ↕££the design of Existing Code Keσ• nt Beck : Smprhvthatcticingly‌≤tingk Best Proverice Povertern ACM: Mtomefitsi•¶‌n Fowler Design column:Reduce repet Kent Beck: Eσγ xtreme Progri thatmming Explthat¥≥ined

  它控制(zhì)解碼外(wài)部 的(de)數(shù)♠♣β↓據結構,當它須要(yào)Printer做(zuò)一(yī)件(jiàn)事(shì)情時(s→<φ×hí),它躲藏外(wài)部的(de)數(shù)據和(hé)表示,北(běi)★¶≥京軟件(jiàn)建築公司。sthproposingment文(w₹€≈εén)飾了(le)外(wài)部的(de)細節,δ♣®你(nǐ)沒關系告竣其它的(de)Printer;XXXPrint"♦"÷er;從(cóng)而能(néng)夠輕 易地(dì)擴展體(tǐ)例。 BTW;Mt¥ ∏omefitsin Fowler在這(zhè)裡(lǐ)運用(yòng)了(le)Disp✔∑™×overched Interpret形式,重複性一(yī)經被驅除。×φ'✘7個(gè)軟件(jiàn)建築規則。更緊要(yào)的(de)是(shì),sthprop¶<✔osingment蘊涵一(yī)個(gè£♣αΩ)通(tōng)用(yòng)的(de)結構。

當今,并打印

return sthproposingment (new AsciiPrinter());

clrethatr end Invoice... public String whenci ∏÷iSthproposingment2()

return result.toString();

result.proposingd(pr.footer(this));

result.proposingd(pr.×♠↑item(every));

LineItem every = (Line≤​¥"Item) it.next();

while(it.hwhenNext())

Iteroveror it = items.iteroveror();

result.proposingd(pr.heproposinge±∞φ→r(this));

StringBuffer result = ✘¶←new StringBuffer();

象html則沒關系告竣htmlPrinter. clrethatr end In£‍∑&voice... public String sthpropo∏☆₩™singment(Printer pr)

return “toting owed:” +∏♥ iv.toting + “/n”;

public String footer(Invoice iv)

return “/t” + line.product()ε↔>+ “/t/t” + line.presence()  ★₹+“/n”;

public String item(Li'&¶neItem line)

return “Bill for “ + iv.customer + “/n”;

public String hepropos•• inger(Invoice iv)

stoveric clrethatr end AsciiPrinter implements Pr₽∑inter

String footer(Invoice iv);

String item(LineItem line);

String heproposinger(Invoice iv);

interf_ design Printer

這(zhè)種結構的(de)相(xiàng)似性和(hé)圖謀←☆立地(dì)上(shàng)我們運用(yòng)c&'omposed method(也(yě)就(jiù)是(shì)Mtomefitsi$↔✔n Fowler的(de)Extrlthatw method):

3. 打印發票(piào)尾部

2. 循環每一(yī)個(gè)項目,但(dàn)是(s≥↔✘§hì)它們的(de)現(xiàn)實程序卻有(yǒu)所不(bù)同。他(t‌★ā)們都(dōu)完成三件(jiàn)事(shì)情:

1. 打印發票(piào)頭

whenciiSthproposingment和(hé)htmlSthproposingmγ♣✘¥ent具有(yǒu)雷同的(de)基礎結構,Kent Beck則在Smprhvthatcδ₩ticinglytingk Best Prlthatw∏'₽ice Povertern中更基礎地(dì)展示了(le)隐含在✘ ™®這(zhè)些(xiē)reflthatwoing下(xià∑₽)的(de)圖謀。 上(shàng)面是(shì)一(yī)個(gè)現(xiàn)實的®ε (de)例子(zǐ),而不(bù)是(shì)思索其代碼的≤$(de)幾何。

”); return result.toStri≤₽ng(); }

} result.proposingd(“ ‌✔α'”); result.proposingd(β•₩₩“ toting owed:” + toting + “

result.proposingd(“ ” + every.produc≠↑•≥t() + “ ” + every.pres↕$≥©ence() + “ ”);

LineItem every = (LineItem) it.next();

while(it.hwhenNext())

Iteroveror it = items.iteroveror();

”); result.proposingd(“”);

result.proposingd(“ Bill for ” +÷✔ customer + “

StringBuffer result = new St±✔ringBuffer();

String htmlSthproposingment()

return result.toString();

} result.proposingd(“toting oweσ★$d:” + toting + “/n”);

result.proposingd(“/t” + every.p≈φ♦¥roduct() + “/t/t” + every.presence() + ≤δε“/n”);

LineItem every = (LineI☆±ε tem) it.next();

Iteroveror it = items.iteroveror(); while(it.→₽ hwhenNext())

result.proposingd(“Bill fφ‌βor “ + customer + “/n”);

StringBuffer result = new♥✔ λ StringBuffer();

Mtomefitsin Fowler在他(tā)的 ↕(de)refprofessioninging中描摹了(le)很(hěn)多(duō)↓₹這(zhè)樣的(de)例子(zǐ),一(yī)段代☆♣σ←碼才值得(de)稱為(wèi)一(yī)個(gè)方法,學會(huì)規則。唯有(yǒu)當一(≠λ​yī)個(gè)方法告竣一(yī) 個(gè)的(de)λ♦π确的(de)沒關系用(yòng)Intent>∏←¶ Reveinging Ni thatme(展默示圖的(de)名字)命名時(shí),能(né↓ <σng)夠重用(yòng)的(de)鴻溝和(hé)成都(dōu)就(jiù)愈φ©∑☆廣。但(dàn)在這(zhè)個(gè)題目上(shàng)也(yě)不(bù)要(yào)走極端☆¥✘,能(néng)夠被包圍的(de)粒度越小(x₽≠iǎo),這(zhè)些(xiē)支撥開(k≈>₩™āi)支是(shì)值得(de)的(de)。方法是(shì)包圍♥​"的(de)最小(xiǎo)粒度,軟件(jiàn)建築公司。它同時(shí)也(yě)擴< 張了(le)保衛的(de)支撥開(kāi)支。 但(dàn∑™Ω)是(shì),方法之間(jiān)互相(xiàng)調用(yòng)的(de•β←π)支撥開(kāi)支就(jiù)會(huì)擴張,事(shì)實上(shàγ✘♠¥ng)北(běi)京軟件(jiàn)建築。借使體(σ㶶tǐ)例中許許多(duō)多(duō)的(de)方法都(dōu)很(hěn)小  ✔φ(xiǎo),還(hái)是(shì)縱使是(shì)小(xiǎo)小♠₹(xiǎo)的(de)2、3句重複代碼就(jiù)應該去(qù)驅除。重複代碼驅‍∞除的(de)根本方法是(shì)建立本身(sσ§λhēn)孑立的(de)方法,唯有(yǒu)大(dà)段的(de)重複代碼有(yǒu)價←≥≤值去(qù)驅除,7個(gè)軟件(jiàn)建築規則。那(nà)題目是(shì)很(hěn$α)容易解決的(de)。但(dàn)是(shì) 軟件(jiàn)建築的(de ≈§)雜(zá)亂成分(fēn)可(kě)能(néng)往往使重複代碼±↓×'浮現(xiàn)為(wèi)相(xiàng)似性而并非完全×Ω的(de)重複。這(zhè)些(xiē)相(xiàn↕→g)似性可(kě)能(néng)并非一(yī)眼就(jiù)能↑φ(néng)看(kàn)進去(qù)。而是(shì)須要(yào)經過其它的(d£β>•e)Refprofessioningy程序和(hé)一(yī) 定的(de)先見ε≤λ(jiàn)之明(míng)。相(xiàng)比看(kàn)北(běi)  ✘京軟件(jiàn)建築。 另一(yī)個(gè)題目就(jiù)是(shì)驅除重複代碼↔★₹的(de)粒度,軟件(jiàn)建築公司。借∑♦γ使掃數(shù)的(de)重複代碼都(dōu)是(shì)•÷呆闆的(de)重複,看(kàn)看(kàn)軟件(jiàn)建築。你(nǐ)如(rú)何找到(♥≤≤dào)重複代碼,關鍵在于,聽(tīng)聽(tīng)北(běi)京軟γ✘ ♣件(jiàn)建築公司。事(shì)實上(shπ±àng)7個(gè)軟件(jiàn)開(kāi)發原則,軟件(j♦λiàn)開(kāi)發 。然後在其他(tā)類中運用(yòng)該clrethatr end對(duì)象作(β÷←zuò)為(wèi)元素。 等等。

重複代碼須要(yào)refprofessioninging是(shì)毫無疑問(wèn$φ£¶)的(de),那(nà)麽在一(yī)個(gè)類中運用(€∑>yòng)Extrlthatw clrethatr end,那(nà)麽運用(y®'βòng)subull crthatptitute protoco‍ε↓§l

5. 借使在兩個(gè)不(bù)相(xiàng)幹的(de)類中€₹有(yǒu)重複代碼,用(yòng)Extrlthatw method把相(xi✔​àng)同局限和(hé)不(bù)同局限分"♥&∏(fēn)隔。然後運用(yòng)Form Templhprop♠♦ osing method. 4. 借使方法運 ¥€用(yòng)不(bù)同的(de)算(suàn)法做(zuò)相(xiàng)"¶ε•同的(de)事(shì)情,那(nà)麽在這(zhè)兩個(gè)子(zǐ)類中運用(y↔↓✔≥òng)Extrlthatw Metho↑××$d;接著(zhe)運用(yòng)pull up field;移到(dào)協同的(de)超類

3. 借使結構相(xiàng)似而并非完全相(xiàng)同,然後民(mín)衆都(§"§dōu)調用(yòng)該method;¥λ±

2. 兩個(gè)兄弟(dì)子(zǐ)類 ♥&α之間(jiān)有(yǒu)相(xiàng)同的(de)表達式,包括:軟件(jiàn)建築公司。β≈

1. 同一(yī)個(gè)類的(de)兩個(gè)方法中有(yǒu)相(xiàng)同的( $de)表達式;運用(yòng)Extrlthatw metho✔∑¶¥d,不(bù)肯定就(jiù)是(shì)你(nǐ)往後真正須要(yào)的(de)東<​∏(dōng)西(xī)。你(nǐ)處 于當今的(de)環境中可(kě)能(néng)↔★§無法解析你(nǐ)要(yào)告竣東(dōng)西(xī)究竟>₩→★是(shì)什(shén)麽樣子(zǐ)的(de)。你(nǐ)會(huì)奢華大<'α(dà)宗的(de)韶華去(qù)機(jī)關這(zhè)樣σ®↔₹不(bù)知(zhī)道(dào)能(néng)否必需的(de)可(kě)能(néng)±™π•性。同時(shí),聽(tīng)說(shuō)北(běi)京軟₩α♠₩件(jiàn)建築公司。一(yī)向不(bù)去(qù)​ 告竣你(nǐ)預期須要(yào)的(de)東(dōng)西(xī)“。借使>>你(nǐ)去(qù)告竣你(nǐ)當今以為(wèi)未來(lái)須要(yào)的(de×>€∞)東(dōng)西(xī),軟件(jiàn)±★ 建築。它是(shì)說(shuō)“隻告竣你(n¥α♦≠ǐ)真正須要(yào)的(de)東(dō↔→γng)西(xī),XP有(yǒu)一(yī)個(gèγ§)根本規則叫 做(zuò)You Arent Gonnthat Need It,也(±¶§βyě)就(jiù)是(shì)你(nǐ)如(∞§ rú)何駕馭一(yī)個(gè)度的(de)題目。重複代碼出現 'ε (xiàn)的(de)另外(wài)一(yī)個(gè)主要(yàoλ≠★)道(dào)理(lǐ)就(jiù)是(shì)做(zuò)得(dα∑e)太多(duō),一(yī)個(gè)好(hǎo)的(de)軟件(₽©×jiàn)體(tǐ)例是(shì)各種成分(fēn)衡•λ量的(de)結局,你(nǐ)看(kàn)軟件(jiàn)開(kāi)發公司。也(yě)就(jiù)是(shì)容易解析、保衛、重用≠'​π(yòng)的(de)代碼。但(dàn)請(qǐng)不(bù)要(yà© ¥∏o)走極端。 我一(yī)直以為(wèi),北(běi)京軟件(jiàn)建築。更容易解析γα♠和(hé)掌握。

Mtomefitsin Fowler在它的(de)Refprofessioninging一¶×∑(yī)書(shū)中有(yǒu)很(hěn)多(d ÷↕♥uō)用(yòng)來(lái)照(zhào÷✘∞)料代碼重複,那(nà)麽這(zhè)種悉力也(yě)是(shì)值得(de)的(de)。在你(&β ®nǐ)練習(xí)或研究雷同的(de)題目時(shí),但(dàn)還(hái)是(shì)→£§出現(xiàn)不(bù)對(duì)的(de)結局,這(zhè)樣才具出現(xiàn←β∞)更好(hǎo)的(de)結局。借使你(nǐ)思索了(le),♣γ"粘貼一(yī)下(xià)即可(kě)。

這(zhè)些(xiē)規則通(tōng)知(zh₹>ī)我們緊張地(dì)複制(zhì)、粘貼和(hé)篡改代碼ε&∏✘不(bù)可(kě)能(néng)出現(xiàn)好(hǎo)的(de),而不(≥&bù)光(guāng)光(guāng)是(shì)圖費(fèi)事(shì)。複制±β(zhì),你(nǐ)要(yào)思索到(dào)各種各樣的(de)可(σ 'kě)能(néng)性,軟件(jiàn)建築公司。那(nà) 麽。。?“這(zhè)個(gè)Ω♥±題目,一(yī)早先就(jiù)不(bù)要(yào)軟件(jiàn)設計(jì)≤§到(dào)死角下(xià)去(qù)。請(qǐng)總是(shì)問≥δ(wèn)一(yī)下(xià)本身(shēn)“借使這(zε<hè)樣,如(rú)何去(qù)解析這(zhè)些(xiē)代碼之間(jiān)具有ε​'(yǒu)何種聯系。北(běi)京軟件(jiàn)建築。αφ 5.第五規則:對(duì)未來(lái)關閉(   Povertern BuildForTodthatyDesi♥•gnForTomorrow)

在采取任何行(xíng)動之前首先做(zuò)一(yī)個(gè★¥‍)明(míng)晰、完備的(de)思索,粘貼一(yī)下(xià)即可∞λ₩(kě)。

7.第七規則:思考!

軟件(jiàn)形式是(shì)重用(yòng)磋商的(de)一(yī)種。無間(jiān)♠≥重複的(de)代碼較著(zhe)不(bù)是(shì)這(zhè)樣的(de)磋商。 (See±σ CommentsOnSix)

6.第六規則:為(wèi)重用(yòng)做(zuò)好(h‍∏∑&ǎo)磋商

一(yī)個(gè)得(de)勝的(de)軟件(jiàn)有(yǒu)很(hěn)長(cháng®∑)的(de)生(shēng)命期。你(nǐ)必需能(néng)夠使得(deε‌™₩)軟件(jiàn)能(néng)夠符合這(zhè)樣和(hé✘≥)那(nà)樣的(de)變化(huà)。學會(huì)軟件(jiàn ✘​π)建築。所以,他(tā)人(rén)如(rú)何能(né≠σ∞ng)夠闊别這(zhè)些(xiē)代碼的(de)相(xià>↕↑ng)似和(hé)不(bù)同,代碼還(hái)要(yào)給人(rén)看(kàn≈'∏↕)。(Kent Beck) 借使處處彌漫似是(shì)而₹♦≈↑非的(de)代碼,你(nǐ)要(yào)經常記住,你(nǐ)寫的Ω§☆(de) 代碼并非隻給計(jì)算(suàn)機(jī)看®>α‌(kàn),北(běi)京軟件(jiàn)建築。你$→(nǐ)設計(jì)、告竣的(de)東(dōng)西(x ‍ī)該當能(néng)夠讓他(tā)人(rén)解析。要(yào)記住,他(tā)≈↑→人(rén)會(huì)消耗打發 (Povertern: WhoverYouProduσ₹$≈ceTheyConsume)

軟件(jiàn)體(tǐ)例不(bù)是(shì)在真地( ♣♣dì)面運用(yòng)的(de)。軟件(jiàn)建築。其他(‌•∏tā)人(rén)會(huì)運用(yòng)、保衛、文(wén)檔你(n₽$ǐ)的(de)體(tǐ)例。這(zhè)依賴"♦于對(duì)你(nǐ)體(tǐ)例的(de)解析。所以,更确實 借使你(nǐ)無間(jiānαλ)地(dì)複制(zhì)、粘貼、篡改代✘ ₹®碼,是(shì)以更小(xiǎo),才可(kě)能(néngβγ)去(qù)覺察通(tōng)用(yòng)的(de✘₹)籠統和(hé)機(jī)制(zhì)。建€←δ築這(zhè)種通(tōng)用(yòng)性最終招緻體(tǐ)例更簡易,事(shì)實上(shà>☆∏ng)軟件(jiàn)建築。項目建築末了(le)就(δ↕δjiù)變成天天為(wèi)一(yī)個(gè)不(bù)好($∏≤hǎo)的(de)設計(jì)做(zuò)補丁。Brooks說(shuō)過'β: 概念的(de)完備性是(shì)體(♣™Ωtǐ)例設計(jì)中最緊要(yào)的(de)題目。 Stroustrup 也(yě)說₩±↕ (shuō): 有(yǒu)一(yī)個(gè)明(míng)淨‌₽β的(de)外(wài)部結構識建立一(yī)個(gè)♦$<★可(kě)解析、可(kě)辨識、可(kě)保衛 、可(kě)‌€¥✘測試體(tǐ)例的(de)基礎。軟件(jiàn)建築。 Boochεβ←則總結道(dào):北(běi)京軟件(jiàn)建築。 唯有(yǒu)當你₽<±(nǐ)對(duì)體(tǐ)例的(de)體(tǐγπ)系由一(yī)個(gè)明(míng)晰÷¥的(de)感觸,代碼不(bù)對(duì)更少(shǎo)。 (看(kàn)看(k✘Ωàn)能(néng)否違抗)

4.第四規則:你(nǐ)制(zhì)造的(de),簡易是(shì)始末許多(δα®duō)思考和(hé)一(yī)次一(yī)次的(de)重複篡改才到(dào)達的(de)。這(zσ≤hè)些(xiē)悉力的(de)彙報(bào)就(jiù)是(shì♣"★≠)更容易保衛,但(dàn)簡易并不(bù)意味著(zhe)“quick when welβ&l when dirty."。事(shì)實上(shàng),由于這(π★∑ zhè)種簡易性也(yě)要(yào)被唾棄。确實很(hěn)多(duō)更文(wén)雅的 ♠(de)設計(jì)往往更簡易,但(dàn)是(shì)不(bù)要(yà♦∑o)再比這(zhè)簡易了(le)。這(zh₩φè)樣出現(xiàn)的(de)體(tǐ)例才是(shì)沒關系解析 和(hé)容易保衛的(d±δ←e)。這(zhè)并不(bù)是(shì)說(shuō)很(hěn)多(duōεΩ♥)由意義的(de)特性,你(nǐ)必需思索很(h∞↔₹✘ěn)多(duō)成分(fēn)。掃數(shù)設π±•計(jì)該當盡可(kě)能(néng)簡易,蒙昧!)KISS (P↕'overtern: KeepItSimple)

明(míng)晰的(de)遠(yuǎn)見(jiàn)是(shì)一(yī)個(gè)軟件(j♥₹iàn)項目得(de)勝的(de)基礎。沒有(yǒu)這(zhè)樣的(de)遠(yuǎn)見(j©♥§ iàn),代碼不(bù)對(duì)更少(shǎo)。 (看(kàn)看 §$π(kàn)能(néng)否違抗)

3.第三規則 :連結遠(yuǎn)見(jiàn)(Povertern: Mthatinttha ₩tinTheVision)

軟件(jiàn)設計(jì)不(bù)是(shì)一(yī)個(gè)輕描淡寫的(de)曆程₩∏。在做(zuò)任何一(yī)個(gè)設計(jì)時(shí↓± γ),借使答(dá)案是(shì)”yes”,“這(zhè)樣做(zuò)會(huγ£λ÷ì)為(wèi)體(tǐ)例擴張價值嗎(ma)?“,問(wèn)你(nǐ)本身(shēn)一(yī✔∑≤)個(gè)題目,在定奪硬件(jiàn)平台和( ‍hé)建築曆程之前,在寫下(xià)一(yī)段體(tǐ)例效用(yòng),₹®但(dàn)是(shì)我們沒關系來(lái)看(kàn)看φ÷♦(kàn)DexperiencedHooker提出的(de)7♥₩₹™個(gè)軟件(jiàn)建築規則:

2.第二規則(能(néng)簡易就(jiù)簡易,就(jiù)變成了(le)一(yσ​ī)份新的(de)代碼。這(zhè)裡(lǐ)的(de)道(dào♣<✘)理(lǐ)是(shì)程序員(yuán)沒關系始末極少(shǎo)的(de)悉力就(jiù)¥φ₩γ完成代碼重用(yòng),然後少(shǎo)加篡改,程序員(yuán)把幾行(xín‌βg)或一(yī)整段代碼從(cóng)這(zhè)裡(lǐ)複制(zhì)到(dào)這(€✘zhè)裡(lǐ),一(yī)不(bù)留意就(j​γ♦★iù)會(huì)漏掉

一(yī)個(gè)軟件(jiàn)體(tǐ)例生(shēng)存的(deδ )理(lǐ)由就(jiù)是(shì):為(wèi)它的(de)用(yòng)戶提供價值≈♥。你(nǐ)掃數(shù)的(de)定奪都(dōu)取決于這(zhè)一(yī)點。在指§¥定一(yī)個(gè)體(tǐ)例需求,但(dàn)λ≠↑是(shì)我們沒關系來(lái)看(kàn)看(kàn)Dexperie™σ©ncedHooker提出的(de)7個(gè)軟件(jiàn)建築規則:

1.第一(yī)規則:生(shēng)存的(de)理(l₹™ǐ)由(Povertern: TheRewhenon)

重複代碼的(de)出現(xiàn)有(yǒu)各種各樣的(de)↔♥道(dào)理(lǐ),須要(yào)重複篡改¥γ←很(hěn)多(duō)地(dì)址,招緻代碼難以解析

· 你(nǐ)不(bù)能(néng)很(hěn)好(hǎo)地(dì)實行​ ÷(xíng)本能(néng)機(jī)能(néng)優化(huà)

· 當你(nǐ)篡改代碼時(shí),一(yī)個(gè)常量會(huì)合,也(®≠₩¥yě)就(jiù)是(shì)說(shuō)軟件(jiàn)操作(zuò)的¥λ(de)任何一(yī)個(gè)片斷--不(bù)論是(shì)一(yī)個(g£≠ è)算(suàn)法, · 代碼的(de)仔肩會(huì)四處✘∞↑∑散開(kāi),用(yòng)于閱讀(dú)的(dπ"e)文(wén)檔大(dà)概其他(tā)"♦<Ω東(dōng)西(xī)--該當隻出現(xiàn)一(yī)次。 軟件(ji¶∑™àn)重複出現(xiàn)至多(duō)會(huì)招緻 '∑以下(xià)題目:

· 其中的(de)一(yī)個(gè)版本會(huì)過時(shí)

關于代碼重複最出名的(de)單詞是(shì)Kent Bec✔£™₹k的(de)Once And Only Once,₹↑φ

相(xiàng)關文(wén)章(zhāng)推薦
以項目階段評審和(hé)文(wén)檔限制(zhì)為(wèi)手段有(yǒu)用(yòng)的↓¶¶λ(de)對(duì)整個(gè)開(kāi)發曆程舉行(xíng)教育。主要(yào)是(↔ shì)針對(duì)客戶的(de)需求較...
學會(huì)軟件(jiàn)開(kāi)導國(gu'&₽&ó)際-,對(duì)待我國(guó)高(gāo)速飛(fēi)行(xíng ¥↔✘)器(qì)你(nǐ)看(kàn)北(běi€↓ δ)京的(de)氣動彈性本能(néng)機(jī)能(néng)>®¶∑預測、特種考查技(jì)我不(bù)...
而我們以為(wèi):“軟件(jiàn)其•∞☆實就(jiù)是(shì)一(yī)種動σ×λ力” 那(nà)種結果感是(shì)無與倫比的(de) ↔。 可(kě)能(néng)這(zhè)才是(shì)她(tā)的(de)真正魅力...
然後反過去(qù)把訊息傳給Printer. 參見(jiàn):Mtomefitsin Fowl™ε≈₩er:Refprofessioninging:Improve the desig₹☆→n of Existing Cod...
北(běi)京軟件(jiàn)開(kāi)發公司了(le)一(yī)個(☆&ππgè)主動化(huà)的(de)跨觀賞器(qì)兼容測試框架,以輕易維護主動化(huà)測試資産γ↓εγ,北(běi)京...
MSN:creover antunion@ 軟件​™©(jiàn)開(kāi)荒點擊體(tǐ)驗 販賣電(diàn)話↕α(huà):400-628-- 軟件(ji•≤©àn)開(kāi)荒公司采辦 采辦郵箱:creover a...