锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产综合精品,亚洲欧美日韩国产精品,欧美日韩高清在线一区http://www.shnenglu.com/flyinghare/archive/2013/09/29/203493.html浼氶鐨勫厰瀛?/dc:creator>浼氶鐨勫厰瀛?/author>Sun, 29 Sep 2013 10:39:00 GMThttp://www.shnenglu.com/flyinghare/archive/2013/09/29/203493.htmlhttp://www.shnenglu.com/flyinghare/comments/203493.htmlhttp://www.shnenglu.com/flyinghare/archive/2013/09/29/203493.html#Feedback0http://www.shnenglu.com/flyinghare/comments/commentRss/203493.htmlhttp://www.shnenglu.com/flyinghare/services/trackbacks/203493.html浠涔堟槸Metatable 

      Lua涓璏etatable榪欎釜姒傚康, 鍥藉唴灝嗕粬緲昏瘧涓哄厓琛? 鍏冭〃涓洪噸瀹氫箟Lua涓換鎰忎竴涓璞?鍊?鐨勯粯璁よ涓烘彁渚涗簡涓縐嶅叕寮鍏ュ彛. 濡傚悓璁稿OO璇█鐨勬搷浣滅閲嶈澆鎴栨柟娉曢噸杞? Metatable鑳藉涓烘垜浠甫鏉ラ潪甯哥伒媧葷殑緙栫▼鏂瑰紡. 

      鍏蜂綋鐨勮, Lua涓瘡縐嶇被鍨嬬殑鍊奸兘鏈夐兘鏈変粬鐨勯粯璁ゆ搷浣滄柟寮? 濡? 鏁板瓧鍙互鍋氬姞鍑忎箻闄ょ瓑鎿嶄綔, 瀛楃涓插彲浠ュ仛榪炴帴鎿嶄綔, 鍑芥暟鍙互鍋氳皟鐢ㄦ搷浣? 琛ㄥ彲浠ュ仛琛ㄩ」鐨勫彇鍊艱祴鍊兼搷浣? 浠栦滑閮介伒寰繖浜涙搷浣滅殑榛樿閫昏緫鎵ц, 鑰岃繖浜涙搷浣滃彲浠ラ氳繃Metatable鏉ユ敼鍙? 濡? 浣犲彲浠ュ畾涔?涓〃濡備綍鐩稿姞絳? 

      鐪嬩竴涓渶綆鍗曠殑渚嬪瓙, 閲嶅畾涔変簡2涓〃鐨勫姞娉曟搷浣? 榪欎釜渚嬪瓙涓皢c鐨刜_add鍩熸敼鍐欏悗灝哸鐨凪etatable璁劇疆涓篶, 褰撴墽琛屽埌鍔犳硶鐨勬搷浣滄椂, Lua棣栧厛浼氭鏌鏄惁鏈塎etatable騫朵笖Metatable涓槸鍚﹀瓨鍦╛_add鍩? 濡傛灉鏈夊垯璋冪敤, 鍚﹀垯灝嗘鏌鐨勬潯浠?鍜宎鐩稿悓), 濡傛灉閮芥病鏈夊垯璋冪敤榛樿鍔犳硶榪愮畻, 鑰宼able娌℃湁瀹氫箟榛樿鍔犳硶榪愮畻, 鍒欎細鎶ラ敊.

--瀹氫箟2涓〃
a = {5, 6}
b = {7, 8}
--鐢╟鏉ュ仛Metatable
c = {}
--閲嶅畾涔夊姞娉曟搷浣?br />c.__add = function(op1, op2)
   for _, item in ipairs(op2) do
      table.insert(op1, item)
   end
   return op1
end
--灝哸鐨凪etatable璁劇疆涓篶
setmetatable(a, c)
--d鐜板湪鐨勬牱瀛愭槸{5,6,7,8}
d = a + b

鏈変簡涓劅鎬х殑璁よ瘑鍚? 鎴戜滑鐪嬬湅Metatable鐨勫叿浣撶壒鎬?

      Metatable騫朵笉紲炵, 浠栧彧鏄竴涓櫘閫氱殑table, 鍦╰able榪欎釜鏁版嵁緇撴瀯褰撲腑, Lua瀹氫箟浜嗚澶氶噸瀹氫箟榪欎簺鎿嶄綔鐨勫叆鍙? 浠栦滑鍧囦互鍙屼笅鍒掔嚎寮澶翠負table鐨勫煙, 濡備笂闈緥瀛愮殑__add. 褰撲綘涓轟竴涓艱緗簡Metatable, 騫跺湪Metatable涓緗簡閲嶅啓浜嗙浉搴旂殑鎿嶄綔鍩? 鍦ㄨ繖涓兼墽琛岃繖涓搷浣滅殑鏃跺欏氨浼氳Е鍙戦噸鍐欑殑鑷畾涔夋搷浣? 褰撶劧姣忎釜鎿嶄綔閮芥湁姣忎釜鎿嶄綔鐨勬柟娉曟牸寮忕鍚? 濡俖_add浼氬皢鍔犲彿涓よ竟鐨勪袱涓搷浣滄暟鍋氫負鍙傛暟浼犲叆騫朵笖瑕佹眰涓涓繑鍥炲? 鏈変漢鎶婅繖鏍風殑琛屼負姣斾綔浜嬩歡, 褰搙x琛屼負瑙﹀彂浼氭縺媧諱簨浠惰嚜瀹氫箟鎿嶄綔.

Metatable涓畾涔夌殑鎿嶄綔add, sub, mul, div, mod, pow, unm, concat, len, eq, lt, le, tostring, gc, index, newindex, call...


      鍦↙ua涓換浣曚竴涓奸兘鏈塎etatable, 涓嶅悓鐨勫煎彲浠ユ湁涓嶅悓鐨凪etatable涔熷彲浠ュ叡浜悓鏍風殑Metatable, 浣嗗湪Lua鏈韓鎻愪緵鐨勫姛鑳戒腑, 涓嶅厑璁鎬綘鏀瑰彉闄や簡table綾誨瀷鍊煎鐨勪換浣曞叾浠栫被鍨嬪肩殑Metatable, 闄ら潪浣跨敤C鎵╁睍鎴栧叾浠栧簱. setmetatable鍜実etmetatable鏄敮涓涓緇勬搷浣渢able綾誨瀷鐨凪etatable鐨勬柟娉?


Metatable涓庨潰鍚戝璞?/strong>

      Lua鏄釜闈㈠悜榪囩▼鐨勮璦, 浣嗛氳繃Metatable鍙互妯℃嫙鍑洪潰鍚戝璞$殑鏍峰瓙. 鍏跺叧閿氨鍦ㄤ簬__index榪欎釜鍩? 浠栨彁渚涗簡琛ㄧ殑绱㈠紩鍊煎叆鍙? 榪欏緢鍍忛噸鍐機#涓殑绱㈠紩鍣? 褰撹〃瑕佺儲寮曚竴涓兼椂濡倀able[key], Lua浼氶鍏堝湪table鏈韓涓煡鎵緆ey鐨勫? 濡傛灉娌℃湁騫朵笖榪欎釜table瀛樺湪涓涓甫鏈塤_index灞炴х殑Metatable, 鍒橪ua浼氭寜鐓_index鎵瀹氫箟鐨勫嚱鏁伴昏緫鏌ユ壘. 浠旂粏鎯蟲兂, 榪欎笉姝d負闈㈠悜瀵硅薄涓殑鏍稿績鎬濇兂緇ф壙, 鎻愪緵浜嗗疄鐜版柟寮忎箞. Lua涓疄鐜伴潰鍚戝璞$殑鏂瑰紡闈炲父澶? 浣嗘棤璁哄摢縐嶉兘紱諱笉寮__index.

      榪欎釜渚嬪瓙涓垜浣跨敤浜哖rogramming In Lua涓殑瀹炵幇OO鐨勬柟寮? 寤虹珛浜咮ird(楦?瀵硅薄, 鎷ユ湁浼氶鐨勫睘鎬? 鍏朵粬楦熷璞″熀浜庢鍘熷瀷, Ostrich(楦甸笩)鏄笩鐨勪竴縐嶄絾涓嶄細椋? 緇撴灉寰堟槑鏄? Bird鍜孫strich鍒嗗埆鏈夌嫭绔嬬殑鐘舵?

local Bird = {CanFly = true}

function Bird:New()
    local b = {}
    setmetatable(b, self)
    self.__index = self
    return b
end

local Ostrich = Bird:New() --Bird.CanFly is true, Ostrich.CanFly is true
Ostrich.CanFly = false --Bird.CanFly is true, Ostrich.CanFly is false

__newindex涓巁_index鐩稿搴? 鍦ㄥtable鐨刱ey鍋氭洿鏂版椂瑙﹀彂. 鍙互浣跨敤rawset鍜宺awget瀵箃able鐨刱ey鎿嶄綔鏉ヨ煩榪囪繖浜涗簨浠剁殑瑙﹀彂. 


璋冪敤涓庢埅鑾?/strong>

      Java涓嶤#涓渶瑕佽垂涓嶅皯鍛ㄦ姌鏉ュ疄鐜板姩鎬佷唬鐞嗗拰AOP, 綾諱技榪欐牱鐨勫姛鑳藉湪Lua涓‘寰堢畝鍗? 铏界劧琚檺鍒朵簡寰堝, 浣嗕綘渚濈劧鑳藉鎰熷彈鍒癓ua鐨勭伒媧? 榪欏氨鏄痏_call鎿嶄綔, 褰撳艱璋冪敤鏃惰Е鍙? 

      榪欓噷鎴戝皢table綾誨瀷鐨刟鍋氫簡涓涓嚱鏁版柟寮忕殑璋冪敤a(), 浼氳Е鍙慱_call. 鍙︿竴涓簲鐢ㄧず渚嬪彲浠ュ弬瑙佹垜鐨勫彟涓綃囨枃绔?/span>Lua涓疄鐜扮被浼糃#鐨勪簨浠舵満鍒?br />
a = {}
function a:Func()
   print("simonw")
end
c = {}
c.__call = function(t, )
   print("Start")
   t.Func()
   print("End")
end
setmetatable(a, c)
a()
--[[
Start
simonw
End
]]

      榪欓噷鐨勭ず渚嬮兘鏄互鏈綆鍗曠殑鏂瑰紡灞曠幇, 浠ヤ究鑳芥洿娓呮櫚鐨勬弿榪版牳蹇? 鏇村鐨勮祫鏂欎互鍙婂叿浣撳簲鐢ㄨ鍙傝働rogramming In Lua鍜孡ua鍙傝冩墜鍐?
杞嚜錛?a >http://www.cnblogs.com/simonw/archive/2007/01/17/622032.html

]]>
鑷繁緙栬瘧lua5.2.1http://www.shnenglu.com/flyinghare/archive/2013/09/29/203491.html浼氶鐨勫厰瀛?/dc:creator>浼氶鐨勫厰瀛?/author>Sun, 29 Sep 2013 09:43:00 GMThttp://www.shnenglu.com/flyinghare/archive/2013/09/29/203491.htmlhttp://www.shnenglu.com/flyinghare/comments/203491.htmlhttp://www.shnenglu.com/flyinghare/archive/2013/09/29/203491.html#Feedback0http://www.shnenglu.com/flyinghare/comments/commentRss/203491.htmlhttp://www.shnenglu.com/flyinghare/services/trackbacks/203491.html瀹樻柟鍙戝竷搴撹繕鏄?.1.4鐨勶紝鑰屼笖鐢變簬澶辮瀵艱嚧蹇呴』甯︾潃2涓猟ll鏂囦歡銆傛渶鏂扮殑婧愪唬鐮佹槸5.2.1鐨勶紝鎴戜滑鑷繁緙栬瘧鍚э紝鐩爣鏄潤鎬佸簱錛屽厤寰楀甫鐫 dll 婊′笘鐣岃窇銆?/p>

涓嬭澆婧愪唬鐮侊細http://www.lua.org/ftp/lua-5.2.1.tar.gz

瑙e帇澶囩敤銆?span style="padding: 0px; margin: 0px;">榪欓噷璇村彞棰樺璇濓紝lauxlib.h 鍜?nbsp;lauxlib.c 鎴戣涓轟篃搴旇鏄畼鏂圭殑澶辮錛屾湰鎰忓簲璇ユ槸 luaxlib.h 鍜?luaxlib.c 鍚э紵

鏂板緩涓涓?static library 宸ョ▼錛屾妸瑙e帇寰楀埌鐨勭洰褰曚笅鐨剆rc瀛愮洰褰曚腑鐨勬墍鏈?h鍜?c鏂囦歡鎷瘋礉鍒版柊宸ョ▼鐩綍涓嬨?/p>

宸ョ▼涓垹闄よ嚜鍔ㄧ敓鎴愮殑 main.c 鏂囦歡錛屾坊鍔犺繘闄ua.c銆乴uac.c鍜?/span>lua.hpp澶?/span>鐨勬墍鏈?h鍜?c鏂囦歡銆?/p>

緙栬瘧錛屽緱鍒?nbsp;libLua.a 鍗蟲槸搴撱傛敞鎰忥紝濡傛灉浣犳病鏈夐噸璁捐繃杈撳嚭鐩綍錛岃繖涓?liblua.a 鏂囦歡搴旇鍦ㄤ綘鐨勬簮浠g爜鐩綍閲屻?/span>

鐒跺悗鎶?nbsp;libLua.a 鏀懼埌緙栬瘧鍣ㄧ殑 Lib 鐩綍涓嬶紝鎶?nbsp; lauxlib.h銆乴ua.h銆乴uaconf.h銆乴ualib.h 鏀懼埌緙栬瘧鍣ㄧ殑 include 鐩綍涓嬶紙C++鐢ㄦ埛鍐嶆坊鍔犱釜 lua.hpp錛夛紝鏈濂芥柊寤轟釜 lua 瀛愮洰褰曞瓨鏀懼ご鏂囦歡鏇存竻鏅般?/span>


鍏跺疄鏈鍏抽敭灝辨槸闄ゅ紑涓嶅繀瑕佺殑鏂囦歡錛屽疄闄呬笂錛?br style="padding: 0px; margin: 0px;" />緙栬瘧 lua錛坙ua.exe錛岃В鏋愬櫒錛?鏃跺垹闄uac.c錛屽姞鍏ua.c銆?br style="padding: 0px; margin: 0px;" />緙栬瘧 luac錛坙uac.exe錛屽瓧鑺傜爜緙栬瘧鍣級鏃跺垹闄ua.c錛屽姞鍏uac.c銆?br style="padding: 0px; margin: 0px;" />緙栬瘧 lib鍜宒ll錛坙iblua.a鍜宭ua.dll錛屽簱錛夋椂鎶妉ua.c鍜宭uac.c閮藉垹闄ゃ?/p>


鍙﹀瑕佹敞鎰忥細lua 5.2.1 鍒涘緩涓涓寚鍚慙ua瑙i噴鍣ㄧ殑鎸囬拡鐨勫嚱鏁?nbsp;lua_open 淇敼涓?luaL_newstate銆?br style="padding: 0px; margin: 0px;" />鍗蟲妸宸ョ▼浠巐ua5.1搴撹漿鍒?.2搴撴椂錛屽湪璋冪敤 lua_open() 鐨勫湴鏂歸兘闇瑕佷慨鏀?/span>涓?luaL_newstate()銆?/p>
杞嚜錛?a >http://my.oschina.net/u/580100/blog/108468

]]>
C++緙栧啓Windows鏈嶅姟紼嬪簭 http://www.shnenglu.com/flyinghare/archive/2013/09/26/203443.html浼氶鐨勫厰瀛?/dc:creator>浼氶鐨勫厰瀛?/author>Thu, 26 Sep 2013 07:24:00 GMThttp://www.shnenglu.com/flyinghare/archive/2013/09/26/203443.htmlhttp://www.shnenglu.com/flyinghare/comments/203443.htmlhttp://www.shnenglu.com/flyinghare/archive/2013/09/26/203443.html#Feedback0http://www.shnenglu.com/flyinghare/comments/commentRss/203443.htmlhttp://www.shnenglu.com/flyinghare/services/trackbacks/203443.html鐜 VC6.0

#include "windows.h"

SERVICE_STATUS          gSvcStatus;  //鏈嶅姟鐘舵?/span>

SERVICE_STATUS_HANDLE   gSvcStatusHandle; //鏈嶅姟鐘舵佸彞鏌?/span>

HANDLE                  ghSvcStopEvent = NULL;//鏈嶅姟鍋滄鍙ユ焺

#define SERVER_NAME    TEXT("my_server") //鏈嶅姟鍚?/span>

VOID WINAPI Server_main( DWORD, LPTSTR *); //鏈嶅姟鍏ュ彛鐐?/span>

void ServerReportEvent(LPTSTR szName,LPTSTR szFunction); //鍐橶indows鏃ュ織

VOID ReportSvcStatus( DWORD, DWORD, DWORD ); //鏈嶅姟鐘舵佸拰SCM浜や簰

VOID WINAPI SvcCtrlHandler( DWORD );  //SCM鍥炶皟鍑芥暟

VOID ServerProgram(DWORD, LPTSTR *); //鏈嶅姟涓葷▼搴?/span>

void main()



    SERVICE_TABLE_ENTRY DispatchTable[] =

    {

        { SERVER_NAME, (LPSERVICE_MAIN_FUNCTION)Server_main },

        { NULL, NULL }

    };

    

    if (!StartServiceCtrlDispatcher(DispatchTable))

    {

         ServerReportEvent(SERVER_NAME,TEXT("StartServiceCtrlDispatcher"));

    }

}

static VOID WINAPI Server_main(DWORD dwArgc, LPTSTR *lpszArgv )

{

    // Register the handler function for the service

    gSvcStatusHandle = RegisterServiceCtrlHandler( 

        SERVER_NAME, 

        SvcCtrlHandler);

    

    if( !gSvcStatusHandle )

    { 

       ServerReportEvent(SERVER_NAME,TEXT("RegisterServiceCtrlHandler")); 

        return

    } 

    

    // These SERVICE_STATUS members remain as set here

    gSvcStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; //鍙湁涓涓崟鐙殑鏈嶅姟

    gSvcStatus.dwServiceSpecificExitCode = 0;    

    

    // Report initial status to the SCM

    ReportSvcStatus( SERVICE_START_PENDING, NO_ERROR, 3000 );

    

    // Perform service-specific initialization and work.

    ghSvcStopEvent = CreateEvent(

        NULL,    // default security attributes

        TRUE,    // manual reset event

        FALSE,   // not signaled

        NULL);   // no name

    

    if ( ghSvcStopEvent == NULL)

    {

        ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 );

        return;

    }

    

    // Report running status when initialization is complete.

    ReportSvcStatus( SERVICE_RUNNING, NO_ERROR, 0 );

    

    // TO_DO: Perform work until service stops. 

    ServerProgram(dwArgc, lpszArgv); //浣犻渶瑕佺殑鎿嶄綔鍦ㄦ娣誨姞浠g爜

    

    while(1)

    {

          // Check whether to stop the service.

      WaitForSingleObject(ghSvcStopEvent, INFINITE);

      ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 );

      return;

    }  

}

void ServerReportEvent(LPTSTR szName,LPTSTR szFunction) 



    HANDLE hEventSource;

    LPCTSTR lpszStrings[2];

    unsigned int len = sizeof(szFunction);

    TCHAR *Buffer = new TCHAR[len];

    

    hEventSource = RegisterEventSource(NULL, szName);

    

    if( NULL != hEventSource )

    {

        //StringCchPrintf(Buffer, 80, TEXT("%s failed with %d"), szFunction, GetLastError());

        strcpy(Buffer,szFunction);

        lpszStrings[0] = szName;

        lpszStrings[1] = Buffer;

        

        ReportEvent(hEventSource,        // event log handle

            EVENTLOG_ERROR_TYPE, // event type

            0,                   // event category

            SVC_ERROR,           // event identifier

            NULL,                // no security identifier

            2,                   // size of lpszStrings array

            0,                   // no binary data

            lpszStrings,         // array of strings

            NULL);               // no binary data    

        DeregisterEventSource(hEventSource);

    }

}

VOID ReportSvcStatus( DWORD dwCurrentState,

                     DWORD dwWin32ExitCode,

                     DWORD dwWaitHint)

{

    static DWORD dwCheckPoint = 1;

    

    // Fill in the SERVICE_STATUS structure.

    

    gSvcStatus.dwCurrentState = dwCurrentState;

    gSvcStatus.dwWin32ExitCode = dwWin32ExitCode;

    gSvcStatus.dwWaitHint = dwWaitHint;

    

    if (dwCurrentState == SERVICE_START_PENDING)

        gSvcStatus.dwControlsAccepted = 0;

    else gSvcStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;

    

    if ( (dwCurrentState == SERVICE_RUNNING) ||

        (dwCurrentState == SERVICE_STOPPED) )

        gSvcStatus.dwCheckPoint = 0;

    else gSvcStatus.dwCheckPoint = dwCheckPoint++;

    

    // Report the status of the service to the SCM.

    SetServiceStatus( gSvcStatusHandle, &gSvcStatus );

}

VOID WINAPI SvcCtrlHandler( DWORD dwCtrl )

{

    // Handle the requested control code. 

  switch(dwCtrl) 

    {  

    case SERVICE_CONTROL_STOP: 

        ReportSvcStatus(SERVICE_STOP_PENDING, NO_ERROR, 0);

        

        // Signal the service to stop.

        

        SetEvent(ghSvcStopEvent);

        

        return;

        

    case SERVICE_CONTROL_INTERROGATE: 

        // Fall through to send current status.

        break

        

    default

        break;

    } 

    ReportSvcStatus(gSvcStatus.dwCurrentState, NO_ERROR, 0);

}
杞嚜錛?a >http://3140618.blog.163.com/blog/static/745179720109286165959/

]]>
澶辨晥榪唬鍣紙Invalidating Iterators錛?/title><link>http://www.shnenglu.com/flyinghare/archive/2013/09/24/203415.html</link><dc:creator>浼氶鐨勫厰瀛?/dc:creator><author>浼氶鐨勫厰瀛?/author><pubDate>Tue, 24 Sep 2013 13:12:00 GMT</pubDate><guid>http://www.shnenglu.com/flyinghare/archive/2013/09/24/203415.html</guid><wfw:comment>http://www.shnenglu.com/flyinghare/comments/203415.html</wfw:comment><comments>http://www.shnenglu.com/flyinghare/archive/2013/09/24/203415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flyinghare/comments/commentRss/203415.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flyinghare/services/trackbacks/203415.html</trackback:ping><description><![CDATA[<div class="hvzpftn" id="article_content" style="margin: 20px 0px 0px; line-height: 26px; font-family: Arial; color: #333333; background-color: #ffffff;"><div style="font-family: Arial, Verdana, sans-serif; font-size: 12px; word-break: break-word; word-wrap: break-word; margin: 5px; overflow-y: auto;">褰撲竴涓鍣ㄥ彉鍖栨椂錛屾寚鍚戣瀹瑰櫒涓厓绱犵殑榪唬鍣ㄥ彲鑳藉け鏁堛傝繖浣垮緱鍦ㄨ凱浠e櫒鍙樺寲鏈熼棿鏀瑰彉瀹瑰櫒瀹規槗鍑虹幇闂銆傚湪榪欐柟闈紝涓嶅悓鐨勫鍣ㄦ彁渚涗笉鍚岀殑淇濋殰錛?br />vectors: 寮曡搗鍐呭瓨閲嶆柊鍒嗛厤鐨勬彃鍏ヨ繍綆椾嬌鎵鏈夎凱浠e櫒澶辨晥錛屾彃鍏ヤ篃浣垮緱鎻掑叆浣嶇疆鍙婂叾鍚庝綅緗殑榪唬鍣ㄥけ鏁堬紝鍒犻櫎榪愮畻浣垮緱鍒犻櫎浣嶇疆鍙婂叾鍚庝綅緗殑榪唬鍣ㄥけ鏁?<br />vector鐨刾ush_back鎿嶄綔 鍙兘娌′簨錛屼絾鏄竴鏃﹀紩鍙戝唴瀛橀噸鍒嗛厤錛屾墍鏈夎凱浠e櫒閮戒細澶辨晥錛?br />vector鐨刬nsert鎿嶄綔 鎻掑叆鐐逛箣鍚庣殑鎵鏈夎凱浠e櫒澶辨晥錛涗絾涓鏃﹀紩鍙戝唴瀛橀噸鍒嗛厤錛屾墍鏈夎凱浠e櫒閮戒細澶辨晥錛?br />vector鐨別rase鎿嶄綔 鎻掑叆鐐逛箣鍚庣殑鎵鏈夎凱浠e櫒澶辨晥錛?br />vector鐨剅eserve鎿嶄綔 鎵鏈夎凱浠e櫒澶辨晥錛堝洜涓哄畠瀵艱嚧鍐呭瓨閲嶅垎閰嶏級錛?br /><br />list/map: 鎻掑叆涓嶄細浣垮緱浠諱綍榪唬鍣ㄥけ鏁堬紱鍒犻櫎榪愮畻浣挎寚鍚戝垹闄や綅緗殑榪唬鍣ㄥけ鏁堬紝浣嗘槸涓嶄細澶辨晥鍏朵粬榪唬鍣?<br />deque鐨刬nsert鎿嶄綔 鎵鏈夎凱浠e櫒澶辨晥錛?br />deque鐨別rase鎿嶄綔 鎵鏈夎凱浠e櫒澶辨晥錛?br /><br />1. 瀵逛簬<span style="color: #ff0000;">鍏寵仈瀹瑰櫒(濡俶ap, set, multimap,multiset)錛?/span>鍒犻櫎褰撳墠鐨刬terator錛屼粎浠呬細浣垮綋鍓嶇殑iterator澶辨晥錛屽彧瑕佸湪erase鏃訛紝閫掑褰撳墠iterator鍗沖彲銆傝繖鏄洜涓簃ap涔嬬被鐨勫鍣紝浣跨敤浜嗙孩榛戞爲鏉ュ疄鐜幫紝鎻掑叆銆佸垹闄や竴涓粨鐐逛笉浼氬鍏朵粬緇撶偣閫犳垚褰卞搷銆俥rase榪唬鍣ㄥ彧鏄鍒犲厓绱犵殑榪唬鍣ㄥけ鏁堬紝浣嗘槸榪斿洖鍊間負void錛屾墍浠ヨ閲囩敤<span style="color: #ff0000;">erase(iter++)</span>鐨勬柟寮忓垹闄よ凱浠e櫒銆?br />for (iter = cont.begin(); it != cont.end();)<br />{<br />   (*iter)->doSomething();<br />   if (shouldDelete(*iter))<br />      cont.erase(iter++);<br />   else<br />      ++iter;<br />}<br /><br />2. 瀵逛簬<span style="color: #ff0000;">搴忓垪寮忓鍣?濡倂ector,deque)</span>錛屽垹闄ゅ綋鍓嶇殑iterator浼氫嬌鍚庨潰鎵鏈夊厓绱犵殑iterator閮藉け鏁堛傝繖鏄洜涓簐etor,deque浣跨敤浜嗚繛緇垎閰嶇殑鍐呭瓨錛屽垹闄や竴涓厓绱犲鑷村悗闈㈡墍鏈夌殑鍏冪礌浼氬悜鍓嶇Щ鍔ㄤ竴涓綅緗傛墍浠ヤ笉鑳戒嬌鐢╡rase(iter++)鐨勬柟寮忥紝榪樺ソerase鏂規硶鍙互榪斿洖涓嬩竴涓湁鏁堢殑iterator銆?br />for (iter = cont.begin(); iter != cont.end();)<br />{<br />   (*it)->doSomething();<br />   if (shouldDelete(*iter))<br />      <span style="color: #ff0000;">iter = cont.erase(iter); </span><br />   else<br />      ++iter;<br />}<br />3. 瀵逛簬<span style="color: #ff0000;">list</span>鏉ヨ錛屽畠浣跨敤浜嗕笉榪炵畫鍒嗛厤鐨勫唴瀛橈紝騫朵笖瀹冪殑erase鏂規硶涔熶細榪斿洖涓嬩竴涓湁鏁堢殑iterator錛屽洜姝?span style="color: #ff0000;">涓婇潰涓ょ鏂規硶閮藉彲浠ヤ嬌鐢ㄣ?/span><br /><br />鍒犻櫎鏁扮粍涓煇涓厓绱犲悗榪炵畫閲嶅鐨勫厓绱狅紝渚嬪 1錛?錛?錛?錛?錛?錛?錛?錛?錛? ---> 1錛?2錛?錛?錛?錛?銆傜粰鍑洪棶棰樼殑涓涓紜殑瀹炵幇錛?br /><div bg_cpp"="" style="width: 677.15625px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">></span><span style="color: #000000; ">  <br />#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">vector</span><span style="color: #000000; ">></span><span style="color: #000000; ">  <br /></span><span style="color: #0000FF; ">using</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; "> std;  <br />  <br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> argc, </span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">*</span><span style="color: #000000; "> argv[])  <br />{  <br />   </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a[] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> {</span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">3</span><span style="color: #000000; ">, </span><span style="color: #000000; ">3</span><span style="color: #000000; ">, </span><span style="color: #000000; ">3</span><span style="color: #000000; ">, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">, </span><span style="color: #000000; ">4</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">};  <br />   </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> size </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(a)</span><span style="color: #000000; ">/</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(a[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]);  <br />  <br />  <br />   vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> vec(a, a</span><span style="color: #000000; ">+</span><span style="color: #000000; ">size);  <br />  <br />  <br />   vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; ">::iterator iter </span><span style="color: #000000; ">=</span><span style="color: #000000; "> vec.begin();  <br />   </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> previous </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter;  <br />   </span><span style="color: #000000; ">++</span><span style="color: #000000; ">iter;  <br />   </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (; iter </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> vec.end();)  <br />   {          <br />      </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter </span><span style="color: #000000; ">==</span><span style="color: #000000; "> previous)  <br />      {  <br />         iter </span><span style="color: #000000; ">=</span><span style="color: #000000; "> vec.erase(iter);  <br />      }  <br />      </span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">  <br />      {  <br />         previous </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter;  <br />         </span><span style="color: #000000; ">++</span><span style="color: #000000; ">iter;  <br />      }      <br />   }  <br />  <br />  <br />   </span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(iter </span><span style="color: #000000; ">=</span><span style="color: #000000; "> vec.begin(); iter </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> vec.end(); </span><span style="color: #000000; ">++</span><span style="color: #000000; ">iter)  <br />   {  <br />      cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;  <br />   }  <br />     <br />   </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;  <br />}  </span></div></div>PS. 涓嶈繃瀹為檯涓婅繖涓棶棰橈紝鐢╲ector鏉ュ疄鐜頒笉鏄緢閫傚悎錛屽洜涓烘瘡嬈″垹闄や竴涓厓绱狅紝閮戒細寮曡搗vector鐨勪竴涓猺esize鎿嶄綔銆俽esize鐨勬椂闂村鏉傚害鏄疧(n)錛屾暣涓殑resize鎿嶄綔瑕佽姳璐筄(n^2)銆傛渶濂芥槸閫夋嫨list鏈涓哄鍣紝list鏈閫傚悎閭d簺闇瑕佸湪瀹瑰櫒涓棿鍋氭彃鍏ャ佸垹闄ょ殑渚嬪瓙銆?/div><div></div></div><br />杞嚜錛?a >http://blog.csdn.net/heyutao007/article/details/6937236</a><img src ="http://www.shnenglu.com/flyinghare/aggbug/203415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flyinghare/" target="_blank">浼氶鐨勫厰瀛?/a> 2013-09-24 21:12 <a href="http://www.shnenglu.com/flyinghare/archive/2013/09/24/203415.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍑犱釜杞歡鐮斿彂鍥㈤槦綆$悊鐨勫皬闂http://www.shnenglu.com/flyinghare/archive/2013/08/22/202699.html浼氶鐨勫厰瀛?/dc:creator>浼氶鐨勫厰瀛?/author>Thu, 22 Aug 2013 06:21:00 GMThttp://www.shnenglu.com/flyinghare/archive/2013/08/22/202699.htmlhttp://www.shnenglu.com/flyinghare/comments/202699.htmlhttp://www.shnenglu.com/flyinghare/archive/2013/08/22/202699.html#Feedback0http://www.shnenglu.com/flyinghare/comments/commentRss/202699.htmlhttp://www.shnenglu.com/flyinghare/services/trackbacks/202699.html鍑犱釜杞歡鐮斿彂鍥㈤槦綆$悊鐨勫皬闂

鏈榪戝湪涓庝竴浣嶆葷粡鐞嗕氦嫻佺殑鏃跺欙紝浠栬皥鍒頒粬浠叕鍙哥殑杞歡鐮斿彂綆$悊錛岃錛?#8220;鎴戜滑鍏徃鏈澶х殑闂鏄」鐩笉鑳芥寜鏃跺畬鎴愶紝鎬昏涓鎷栧啀鎷栥?#8221;浠栭棶鎴戞湁浠涔堝姙娉曡兘鏀瑰彉榪欎釜澧冨喌銆備粠榪欐牱涓涓棶棰樺紑濮嬶紝鍦ㄩ殢鍚庣殑浜よ皥涓紝鍙堝紩鍑轟粬涓榪炰覆鍦ㄨ蔣浠剁爺鍙戠鐞嗕腑鐨勯亣鍒扮殑闂錛屽寘鎷細

 

. 鐜版湁浠g爜璐ㄩ噺涓嶉珮錛屾柊鏉ョ殑寮鍙戜漢鍛樻帴鎵嬫椂瀹佹効閲嶅啓錛屼篃涓嶆効鎰忕湅鍒漢鐣欎笅鐨?#8220;鐑?#8221;浠g爜錛屾庝箞鍔烇紵

. 閲嶆瀯浼氶犳垚鍥為錛屾庢牱閬垮厤錛?/strong>

. 鏈変簺寮鍙戜漢鍛樻按騫崇浉瀵逛笉楂橈紝濡備綍淇濊瘉浠栦滑鐨勪唬鐮佽川閲忥紵

. 杞歡鐮斿彂鍒板簳闇涓嶉渶瑕佹枃妗o紵

. 瑕佹眰鎻愪氦浠g爜鍓嶅仛Code Review錛岃屽紑鍙戜漢鍛樹笉鍋氾紝鎴栨暦琛嶄簡浜嬶紝鎬庝箞鍔烇紵

. 褰撴湁寮鍙戜漢鍛樺湪寮鍙戣繃紼嬩腑閬囧埌闅鵑錛屽伐浣滄棤娉曠戶緇紝鍥犺屾嫋寤惰繘搴︼紝鎬庝箞瑙e喅錛?/strong>

. 濡備綍鎻愰珮寮鍙戜漢鍛樼殑涓昏鑳藉姩鎬э紵

 

鍏跺疄錛屾瘡涓蔣浠剁爺鍙戝洟闃熺殑綆$悊鑰呴兘闈復鐫鎴栨浘緇忛潰涓磋繃榪欎簺闂錛屼篃閮芥湁鐫鑷繁鐨勭鐞?#8220;濂楄礬”鏉ュ簲瀵硅繖浜涢棶棰樸傛垜鎶婃垜鐨?#8220;濂楄礬”鍐嶆緄彣緄彣銆?/p>

 

1. 欏圭洰涓嶈兘鎸夋椂瀹屾垚錛屾昏涓鎷栧啀鎷栵紝鎬庝箞鏀瑰彉錛?/strong>

 

鎵捐В鍐沖姙娉曞墠錛屽綋鐒惰鍏堢煡閬撻棶棰樹負浠涔堜細鍑虹幇銆傝繖浣嶆葷粡鐞嗚錛?#8220;鎬諱細涓嶆柇鍦版湁闇姹傝鏀瑰彉鍜屾柊闇姹傛彁鍑烘潵錛屼嬌鍘熸潵鐨勫紑鍙戣鍒掍笉寰椾笉寤墮暱銆?#8221;鍘熸潵濡傛銆傜煡閬撴牴婧愶紝褰撶劧瑙e喅鍔炴硶涔熷氨鏈変簡錛岄偅灝辨槸“鏁忔嵎”銆傛晱鎹峰紑鍙戝洜鍏惰凱浠o紙Iterative錛夊拰澧為噺錛圛ncremental錛夌殑鎬濇兂涓庡疄璺碉紝姝eソ閫傚悎“闇姹傜粡甯稿彉鍖栧拰澧炲姞”鐨勯」鐩拰浜у搧銆傚湪鎴戣榪頒簡鏁忔嵎鐨勪竴浜涙蹇碉紝鐗瑰埆鏄疭crum鐨勬鏋跺悗錛屾葷粡鐞嗕篃琛ㄧず浜嗗“鏁忔嵎”鐨勮鍚屻?/p>

 

鍏跺疄浠旂粏鎯蟲兂錛岃繖閲岄潰榪樻湁涓涓潪甯告櫘閬嶇殑闂銆傚浜庝駭鍝佺殑浜や粯鏃墮棿鎴栭」鐩殑瀹屾垚鏃墮棿錛屽線寰鐢遍珮綰х鐞嗗眰鏍規嵁甯傚満鎯呭喌鍐崇瓥鍜岀‘瀹氥傚湪寰堝杞歡浼佷笟涓紝榪欎簺鍐崇瓥鑰呭湪鍐崇瓥鏃跺線寰蹇界暐浜嗕竴涓噸瑕佺殑鍙傛暟錛岄偅灝辨槸鍥㈤槦鐨勭敓浜х巼錛圴elocity錛夈傜敓浜х巼闇瑕侀噺鍖栵紝鑰屼笉鏄?#8220;鎷嶈剳闂ㄥ瓙”鎰熻鍑烘潵鐨勩傛晱鎹峰紑鍙戜腑鏈夊叧浜庡浣曚及綆楃敓浜х巼鐨勬柟娉曘傛墍浠ヤ嬌鐢ㄦ晱鎹鳳紝鍦ㄤ及綆椾駭鍝佷氦浠樻椂闂存垨欏圭洰瀹屾垚鏃墮棿鏃訛紝鏄浉瀵硅緝鍑嗙‘鐨勩係crum鍒涘浜轟箣涓鐨凧eff Sutherland璇達紝浠栧湪涓涓闄╂姇璧勫洟闃熷仛鏁忔嵎鏁欑粌鏃訛紝鍥㈤槦涓殑璧勬繁鍚堜紮浜轟細鍚戞墍鏈夌殑寰呮姇璧勪紒涓氶棶鍚屼竴涓棶棰橈細“浣犱滑鏄惁娓呮鍥㈤槦鐨勭敓浜х巼錛?#8221;鑰岃繖浜涗紒涓氶兘寰堥毦鍋氬嚭鏄庣‘鐨勭瓟澶嶃傝蔣浠朵紒涓氳鎯崇粰浜у搧瀹氫竴涓緝瀹為檯鐨勪氦浠樻棩鏈燂紝灝遍鍏堣寮勬竻妤氳嚜宸辯殑杞歡鐢熶駭鐜囥?/p>

 

2. 鐜版湁浠g爜璐ㄩ噺涓嶉珮錛屾柊鏉ョ殑寮鍙戜漢鍛樻帴鎵嬫椂瀹佹効閲嶅啓錛屼篃涓嶆効鎰忕湅鍒漢鐣欎笅鐨?#8220;鐑?#8221;浠g爜錛屾庝箞鍔烇紵

 

榪欏彲鑳芥槸寰堝杞歡寮鍙戝伐紼嬪笀閮芥湁榪囩殑浣撻獙錛屽湪鎺ユ墜鍒漢鐨勪唬鐮佹椂錛岀湅涓嶆噦銆佹棤娉曞姞鏂板姛鑳斤紝璇諱唬鐮佽鐨勫ご鐤箋傝繖璇存槑浠涔堬紵鎺掗櫎鎺ユ墜浜轟釜浜烘按騫崇殑鍥犵礌錛岃繖璇存槑鏃т唬鐮佸彲璇繪с佸彲鎵╁睍鎬ф瘮杈冨樊銆傛庝箞鍔烇紵榪欐椂錛屼篃璁擱噸鏋勬槸涓縐嶄袱鍏ㄥ叾緹庣殑鍔炴硶銆傛帴鎵嬩漢閲嶆瀯浠g爜錛屾棦鑳芥敼鍠勬棫浠g爜鐨勫彲璇繪у拰鍙墿灞曟э紝鍙堜笉鑷充簬鍥犻噸鍐欎唬鐮佸甫鏉ョ殑鏃墮棿涓婄殑椋庨櫓銆?/p>

 

浠庢帴鎵嬩漢蹇冪悊鐨勮搴︾湅錛岄噸鏋勮繕鏈変竴涓ソ鐨勫壇浣滅敤錛屽氨鏄唬鐮侀噸鏋勪箣鍚庯紝鎺ユ墜浜鴻寰楅偅浜涘師鏉ョ殑“鐑?#8221;浠g爜琚慨鏀規垚涓鴻嚜宸卞紩浠ヨ嚜璞殑鏂版垚灝便傘奡crum鏁忔嵎杞歡寮鍙戙嬬殑浣滆匨ike Cohn鍐欏埌榪囷細“鎴戠殑濂沖効浠敾浜嗕竴騫呯壒鍒護浜鴻禐鍙圭殑鏉頒綔鍚庯紝濂逛滑浼氬皢瀹冧粠瀛︽牎甯﹀洖瀹訛紝騫舵兂鎶婂畠灞曠ず鍦ㄤ竴涓槑鏄劇殑浣嶇疆錛屼篃灝辨槸鍐扮涓婇潰銆傛湁涓澶╋紝鍦ㄥ伐浣滀腑錛屾垜鐢–++浠g爜瀹炵幇浜嗘煇涓壒鍒湁鐢ㄧ殑絳栫暐妯″紡鐨勭▼搴忋傚洜涓烘垜璁ゅ畾鍐扮闂ㄩ傚悎灞曠ず鎴戜滑寮曚互涓鴻豹鐨勪換浣曚笢瑗匡紝鎵浠ユ垜灝卞皢瀹冩斁涓婂幓浜嗐傚鏋滄垜浠竴鐩村鑷繁宸ヤ綔鐨勮川閲忕壒鍒嚜璞紝鍙互楠勫偛鍦板皢瀹冨拰瀛╁瓙鐨勮壓鏈搧涓鏍峰睍紺哄湪鍐扮涓婏紝閭d笉鏄緢濂藉悧錛?#8221;鎵浠ヨ繖涓Н鏋佺殑淇冭繘浣滅敤錛屽皢浣垮緱鎺ユ墜浜烘劅瑙変慨鏀圭殑浠g爜鏄嚜宸辯殑浜嗭紝鑰屼笖鏈熸湜鑳藉鎵懼埌鏇村鐨勫彲浠ラ噸鏋勭殑涓滆タ銆?/p>

 

3. 閲嶆瀯浼氶犳垚鍥為錛屾庢牱閬垮厤錛?/strong>

 

閲嶆瀯紜疄寰堝鏄撻犳垚鍥為錛圧egression錛夈傝繖鏃訛紝閲嶆瀯浼氳搗鍒頒笌鍏跺垵琛風浉鍙嶇殑浣滅敤銆傛墍浠ユ垜浠簲璇ュ敖鍙兘澶氬湴澧炲姞鍗曞厓嫻嬭瘯銆傛湁浜涜佷駭鍝侊紝鏃т唬鐮侊紝鍙兘娌℃湁鎴栬呮病鏈夐偅涔堝鐨勫崟鍏冩祴璇曘備絾鎴戜滑鑷沖皯瑕佸湪閲嶆瀯鍓嶏紝澧炲姞瀵硅閲嶆瀯閮ㄥ垎浠g爜鐨勫崟鍏冩祴璇曘傚熀浜庨噸鏋勭洰鐨勭殑鍗曞厓嫻嬭瘯錛屽簲璇ラ伒寰互涓嬬殑鍘熷垯錛堣銆婇噸鏋勩嬬4绔狅細鏋勭瓚嫻嬭瘯浣撶郴錛夛細

- 緙栧啓鏈嚮瀹屽杽鐨勬祴璇曞茍瀹為檯榪愯錛屽ソ榪囧瀹岀編嫻嬭瘯鐨勬棤灝界瓑寰呫傛祴璇曞簲璇ユ槸涓縐嶉闄╅┍鍔ㄨ涓猴紝鎵浠ヤ笉瑕佸幓嫻嬭瘯閭d簺浠呬粎璇誨啓涓涓煎煙鐨勮闂嚱鏁幫紝搴斾負瀹冧滑澶畝鍗曚簡錛屼笉澶у彲鑳藉嚭閿欍?/p>

- 鑰冭檻鍙兘鍑洪敊鐨勮竟鐣屾潯浠訛紝鎶婃祴璇曠伀鍔涢泦涓湪鍝効銆傛壆婕?#8220;紼嬪簭鍏晫”錛岀旱瀹逛綘蹇冩櫤涓瘮杈冧績鐙殑閭d竴閮ㄥ垎錛岀Н鏋佹濊冨浣曠牬鍧忎唬鐮併?/p>

- 褰撲簨鎯呰鍏搴旇浼氬嚭閿欐椂錛屽埆蹇樹簡媯鏌ユ槸鍚︽湁寮傚父濡傛湡琚姏鍑恒?/p>

- 涓嶈鍥犱負“嫻嬭瘯鏃犳硶鎹曟崏鎵鏈塀ug”錛屽氨涓嶆挵鍐欐祴璇曚唬鐮侊紝鍥犱負嫻嬭瘯鐨勭‘鍙互鎹曟崏鍒板ぇ澶氭暟Bug銆?/p>

- “鑺卞悎鐞嗘椂闂存姄鍑哄ぇ澶氭暟Bug”瑕佸ソ榪?#8220;絀峰敖涓鐢熸姄鍑烘墍鏈塀ug”銆傚洜涓哄綋嫻嬭瘯鏁伴噺杈懼埌涓瀹氱▼搴︿箣鍚庯紝嫻嬭瘯鏁堢泭灝變細鍛堢幇閫掑噺鎬佸娍錛岃岄潪鎸佺畫閫掑銆?/p>

璇村埌銆婇噸鏋勩嬭繖鏈功錛屽叾瀹炲湪姣忎釜閲嶆瀯鏂規硶涓兘鏈?#8220;浣滄硶錛圡echanics錛?#8221;涓孌碉紝鍦ㄩ噸鏋勭殑瀹炶返涓寜鐓т笂闈㈡墍榪扮殑姝ラ榪涜鏄瘮杈冪ǔ濡ョ殑錛屽悓鏃朵篃鑳介伩鍏嶅緢澶氫笉緇忔剰闂村埗閫犵殑鍥為鍑虹幇銆?/p>

 

4. 瑕佹眰鎻愪氦浠g爜鍓嶅仛Code Review錛岃屽紑鍙戜漢鍛樹笉鍋氾紝鎴栨暦琛嶄簡浜嬶紝鎬庝箞鍔烇紵

 

濡傛灉姣忎釜寮鍙戜漢鍛橀兘鏄Н鏋佷富鍔ㄧ殑錛孋ode Review鐨勪綔鐢ㄨ兘钀藉埌瀹炲銆備絾濡傛灉涓嶆槸鍛紵鍥㈤槦綆$悊鑰呴渶瑕佷竴浜涙墜孌典績浣垮叾鏈夋晥鍦拌繘琛孋ode Review銆傞鍏堬紝鎴戜滑閲囩敤鐨凜ode Review鏈?縐嶅艦寮忥紝涓鏄疧ver-the-shoulder錛屼篃灝辨槸2涓漢搴у湪涓璧鳳紝涓涓漢璁詫紝鍙︿竴涓漢瀹℃煡銆備簩鏄敤宸ュ叿Code Collaborator鏉ヨ繘琛屻傛棤璁哄摢縐嶅艦寮忥紝鍦ㄦ彁浜や唬鐮佹椂錛屽繀欏繪敞鏄庡叧浜庡鏌ョ殑淇℃伅錛屾瘮濡傦細瀹℃煡鑰咃紙Reviewer錛夌殑鍚嶅瓧鎴栧鏌ュ彿錛圧eview ID錛孋ode Collaborator鑷姩鐢熸垚錛夛紝姣忓ぉ鐢變竴鍚嶄笓鑱屼漢鍛樻潵媯鏌hecklist涓殑姣忎竴鏉★紝鐪嬫槸鍚︽湁浜烘紡鍐欒繖浜涗俊鎭紝濡傛灉鍙戠幇浼氭彁閱掓彁浜ょ殑浜鴻ˉ涓娿傚彟澶栵紝鏌愭鎻愪氦鐨勪唬鐮佸嚭闂錛屾彁浜よ呭拰瀹℃煡鑰呴兘瑕佷竴璧鋒潵瑙e喅鍑虹幇鐨勯棶棰橈紝浠ユ渶澶ч檺搴﹂伩鍏嶅鏌ヨ繃紼嬫暦琛嶄簡浜嬨?/p>

 

鍗氫富Inovy鍦ㄦ煇涓瘎璁鴻鐨勫緢褰㈣薄錛?#8220;鏈紙娌★級鏈夎祻緗氱殑鍒跺害錛屽氨鏄甫鍒板帟鎵鐨勬姤綰革紝鐪嬪畬灝卞彲浠ョ敤鏉ユ摝灞佽偂浜嗐?#8221;娌℃湁濂栨儵鍒跺害浣滀繚璇侊紝褰撶劧涓婇潰鐨勮姹傛病鏈変粈涔堟晥鍔涖傛墍浠ワ紝褰撴湁浜虹粡甯鎬笉瀹℃煡灝辨彁浜わ紝鎴栧鏌ユ椂涓嶈礋璐d換錛屽畠鐨勭嘩鏁堣瘎瀹氬氨浼氬洜姝や綆涓鐐癸紝鑰岀嘩鏁堢殑璇勫垎鏄窡姣忓勾宸ヨ祫娑ㄨ惤鎸傞挬鐨勩傝鐧戒簡錛屽彲鑳芥煇涓漢浼氬洜涓哄嬈¤鏌ュ嚭娌℃湁鍋欳ode Review灝辨彁浜や唬鐮侊紝鑰屽埌騫村簳鍔犺柂鏃舵瘮鍒漢灝戞定500鍧楅挶銆?/p>

 

5. 杞歡鐮斿彂鍒板簳闇涓嶉渶瑕佹枃妗o紵

 

杞歡鐮斿彂闇瑕佹枃妗g殑璧峰師鍙兘鏈?縐嶏紝涓鏄瘮杈冨師濮嬬殑錛岄渶瑕佹枃妗f槸涓轟簡褰撳紑鍙戜漢鍛樼鑱屽悗錛屼紒涓氶渶瑕佹帴鎵嬬殑浜鴻兘鏍規嵁鏂囨。浜嗚В浠栨墍鎺ユ墜鐨勪唬鐮佹垨妯″潡鐨勮璁°備簩鏄緝楂樺眰嬈$殑錛屼紒涓氶伒浠嶪SO9001璐ㄩ噺綆$悊浣撶郴鎴朇MMI銆?/p>

 

瀵逛簬絎竴縐嶏紝鏍規簮鍙兘鏉ヨ嚜浜庝袱涓柟闈細

- 鍘熷紑鍙戜漢鍛樿璁$紪鐮佹按騫充笉楂橈紝鍏朵唬鐮佸彲璇繪ц緝宸?/p>

- 璁捐鎬濇兂鍜屼唬鐮佸彧鏈変竴涓漢浜嗚В錛屾浜轟竴鏃︾鑱岋紝鏃犱漢鐭ラ亾鍏剁粏鑺傘?/p>

鍦ㄧ紪鐮佸墠鍐欎竴浜涚畝鍗曠殑璁捐鏂囨。錛屾湁鍔╀簬鐞嗘竻鎬濊礬錛屽挨鍏舵槸杈呬互涓浜沀ML鍥撅紝鍦ㄤ氦嫻佹椂涔熸槸鏈夊ソ澶勭殑銆備絾鍚屾椂錛屾垜浠篃搴旇鎻愰珮寮鍙戜漢鍛樼殑緙栫爜姘村鉤澧炲姞鍏朵唬鐮佺殑鍙鎬э紝姣斿澧炲己鍏跺彉閲忓懡鍚嶇殑鍙鎬с佺敤涓浜涜澶у鎵浜嗚В鐨勮璁℃ā寮忔潵鏇夸唬鎸夎嚜宸辨煇浜涚嫭鐗規濊礬緙栧啓鐨勪唬鐮併佸鍔犲拰鏀硅繘娉ㄩ噴絳夌瓑錛屼互鍑忓皯涓嶅繀瑕佺殑鏂囨。銆傚彟澶栨帹琛屼唬鐮佺殑闆嗕綋鎵鏈夋潈錛圕ollective Ownership錛夛紝閬垮厤鏌愪簺浠g爜鍙涓涓漢浜嗚В錛岃繖鏍峰彲浠ュ噺灝戜互姝や負鐩殑鑰岀紪鍐欑殑鏂囨。銆?/p>

 

瀵逛簬絎簩縐嶏紝鎯呭喌鏈変簺澶嶆潅銆傛帴瑙﹁繃鏁忔嵎寮鍙戠殑浜洪兘鐭ラ亾銆婃晱鎹峰璦銆嬩腑鐨?#8220;鍙互宸ヤ綔鐨勮蔣浠惰儨浜庨潰闈勘鍒扮殑鏂囨。”銆傛帴瑙﹁繃CMMI寮鍙戞垨鑰匢SO9001璐ㄩ噺綆$悊浣撶郴鐨勪漢鐭ラ亾瀹冧滑瀵規枃妗g殑瑕佹眰鏄涔堢殑楂樸傚畠浠湅璧鋒潵姘寸伀涓嶇浉瀹廣備絾鏄紝瀹冧滑鐨勫畻鏃ㄦ槸涓鑷寸殑錛屽嵆錛氭瀯寤洪珮璐ㄩ噺鐨勪駭鍝併?/p>

 

瀵逛簬鏁忔嵎錛屼嬌鐢ㄦ墜鍐欑敤鎴鋒晠浜嬫潵璁板綍闇姹傚拰浼樺厛綰х殑鏂規硶錛屼互鍙婂湪鐧芥澘涓婂啓鐢葷殑闈炴寮忚璁★紝鏄笉鑳介氳繃ISO9001鐨勫鏍哥殑錛屼絾褰撴妸瀹冧滑澶嶅嵃銆佹媿鐓с佸鍔犲簭鍙楓佷繚瀛樺悗錛屽彲浠ラ氳繃瀹℃牳銆傛瘡嬈¢兘鏄垚鍔熺殑Daily Build鍜孉uto Test鎶ュ憡鏃犳硶璇佹槑瀹冧滑鏄惁鐪熸琚墽琛屽茍鐪熸鎴愬姛錛屾墍浠ヤ笉鑳介氳繃ISO9001鐨勫鏍搞備絾娣誨姞涓涓柇璦澶辮觸錛堢被浼糰ssert(false)鐨勬柇璦錛夌殑嫻嬭瘯鍚庯紝鍒欏彲浠ラ氳繃瀹℃牳銆?/p>

 

CMMI涓庢晱鎹蜂篃鏄簰琛ョ殑錛屽墠鑰呭憡璇夌粍緇囧湪鎬諱綋鏉℃涓婂仛浠涔堬紝浣嗘槸娌℃湁璇村浣曞幓鍋氾紝鍚庤呮槸涓濂楁渶浣沖疄璺點係CRUM涔嬬被鐨勬晱鎹鋒柟娉曚篃琚紩鍏ヨ繃閭d簺宸查氳繃CMMI5綰ц瘎浼扮殑緇勭粐銆傚緢澶氫紒涓氬繕璁頒簡鏈緇堢洰鏍囨槸鏀硅繘浠栦滑鏋勫緩杞歡鍙婇掍氦浜у搧鐨勬柟寮忥紝鐩稿弽錛屽畠浠叧娉ㄤ簬濉啓鎸夌収CMMI鏂囨。鎻忚堪鐨勫亣鎯崇殑緙洪櫡錛屽嵈涓嶅叧蹇冭繖浜涘彉鍖栨槸鍚﹁兘鏀硅繘榪囩▼鎴栦駭鍝併?/p>

 

鎵浠ユ晱鎹峰紑鍙戝湪榪囩▼涓彧緙栧啓澶熺敤鐨勬枃妗o紝鍜屼互“淇℃伅鐨勬矡閫氥佺鍚堟х殑璇佹嵁浠ュ強鐭ヨ瘑鍏變韓”浣滀負涓昏鐩爣鐨勮川閲忎綋緋繪枃妗h姹傚茍涓嶇煕鐩俱傚湪瀹炶返涓紝鎴戜滑鍙互鎸変互涓嬫柟娉曞仛錛屽湪瀹炵幇SCRUM鐨勫悓鏃訛紝絎﹀悎瀹℃牳鍜岃瘎浼扮殑瑕佹眰錛?/p>

 

- 鍒朵綔鏍煎紡鑹ソ鐨勩佽緇嗗寲鐨勩佽淇濆瓨鐨勫拰鑳借窡韙殑Backlog銆傚鍗板拰鐓х墖鍚屾牱鏈夋晥銆?/p>

- 灝嗙洃綆¢渶瑕佺殑鏂囨。宸ヤ綔涔熸斁鍏acklog銆傞櫎浜嗗彲浠ョ‘淇濆畠浠笉琚繕璁幫紝榪樿兘浣跨洃綆¤姹傜殑鎴愭湰鏄彲瑙佺殑銆?/p>

- 浣跨敤媯鏌ュ垪琛紝浠ュ悜瀹℃牳鍛樻垨璇勪及鍛樿瘉鏄庢椿鍔ㄥ凡鎵ц銆傚洟闃熷“瀹屾垚”鐨勫畾涔?Definition of “Done”)鍙互寰堝鏄撹漿鍙樹負涓浠芥鏌ュ垪琛ㄣ?/p>

- 浣跨敤鏁忔嵎欏圭洰綆$悊宸ュ叿銆傚畠鍏跺疄灝辨槸寮鍙戠▼搴忓拰璁板綍鐨勭數瀛愬憟鐜版柟寮忋?/p>

 

鎬昏岃█涔嬶紝杞歡鐮斿彂闇瑕佹枃妗o紙浣嗘枃妗g殑褰㈠紡鍙互鏄縐嶅鏍風殑錛岀敤Word鍐欑殑鏂囧瓧寮忕殑鏂囦歡鏄枃妗o紝鐢╒isio鐢葷殑UML鍥句篃鏄枃妗o紝淇濆瓨鍦≦uality Center涓殑嫻嬭瘯鐢ㄤ緥涔熸槸鏂囨。錛夛紝鍚屾椂鎴戜滑鍙渶鍐欏鐢ㄧ殑鏂囨。銆?/p>

 

6. 褰撴湁寮鍙戜漢鍛樺湪寮鍙戣繃紼嬩腑閬囧埌闅鵑錛屽伐浣滄棤娉曠戶緇紝鍥犺屾嫋寤惰繘搴︼紝鎬庝箞瑙e喅錛?/strong>

 

榪欎篃鏄釜甯擱亣鍒扮殑闂銆傚鏋滅鐞嗚呭浜庢煇涓伐紼嬪笀鐨勫叿浣撻棶棰樿繘琛屾寚瀵鹼紝灝變細闄峰叆榪囧害寰綆$悊鐨勫鍦般傛垜浠渶瑕佹壘鍒板畯瑙傝В鍐沖姙娉曘備竴錛屾垜浠熀浜嶴crum鐨?#8220;鍥㈤槦鏈夊叡鍚岀殑鐩爣”榪欎竴瑙勫垯錛屽埄鐢ㄥ墠闈㈡彁鍒扮殑闆嗕綋鎵鏈夋潈錛屽綋鍑虹幇榪欎簺闂鏃訛紝鐢ㄥ洟闃熶腑鎵鏈夊彲浠ヤ嬌鐢ㄧ殑鍔涢噺鏉ュ府鍔╁叾鎽嗚劚鍥板錛岃屼笉鏄換鍏朵粬浜鴻鎵嬫梺瑙傘傚綋鐒惰繖閲屼細鐗墊壇鍒扮嘩鏁堣瘎瀹氱殑闂錛屾瘮濡傦細鎻愪緵甯姪鐨勪漢浼氳寰楋紝浠栫殑甯姪鏃犲姪浜庤嚜宸辯嘩鏁堣瘎瀹氱殑鎻愰珮錛屼負浠涔堣鎻愪緵甯姪銆傝繖闇瑕佷漢鍔涜祫婧愰儴闂ㄥ湪浣跨敤Scrum寮鍙戠殑鍥㈤槦鐨勭嘩鏁堣瘎浼頒腑錛屽敖閲忔秷闄ら偅浜涘懼悜涓漢鐨勫洜绱狅紝榪樿鍖呭惈鍥㈤槦鍗忎綔鐨勫洜绱狅紝騫挎硾鍚彇涓柟闈㈢殑鎰忚錛屾洿棰戠箒鍦拌瘎浼扮嘩鏁堢瓑絳夈?/p>

 

浜岋紝鍗充嬌鍔ㄧ敤鎵鏈夊彲浠ヤ嬌鐢ㄧ殑鍔涢噺錛屽鏋滄煇涓毦棰樼湡鐨勬棤娉曢捐秺錛屼負浜嗗噺灝戜笉鑳芥寜鏃朵氦浠樼殑椋庨櫓錛屼駭鍝佽礋璐d漢搴斿綋绔欏嚭鏉ワ紝騫舵湁鎵浣滀負銆傝涔堥噸鏂拌瘎浼癇acklog鐨勪紭鍏堢駭錛屼嬌鏃犳硶緇х畫鐨凚acklog榪熶竴鐐逛氦浠橈紝鍏堝仛涓浜涚浉瀵硅緝浣庝紭鍏堢駭鐨凚acklog錛屼互淇濊瘉鏁翠綋浜や粯鏃墮棿涓嶈嚦浜庡歡闀匡紱瑕佷箞鍑忓皯閮ㄥ垎鍔熻兘錛岀粰鍑烘洿澶氱殑鏃墮棿鍘繪敾鍏嬮毦棰樸傛諱箣閫捐秺鎶鏈笂闅懼叧浼氫嬌鍥㈤槦鐨勭敓浜х巼涓嬮檷錛屼駭鍝佽礋璐d漢蹇呴』浣滃嚭鍙栬垗銆?/p>

 

7. 鏈変簺寮鍙戜漢鍛樻按騫崇浉瀵逛笉楂橈紝濡備綍淇濊瘉浠栦滑鐨勪唬鐮佽川閲忥紵

 

褰撶劧棣栧厛璁╄緝鏈夌粡楠岀殑浜篟eview鍏惰鎻愪氦鐨勪唬鐮侊紝榪欏嚑涔庢槸鎵鏈夌鐞嗚呬細鍋氱殑浜嬨傞櫎姝や箣澶栵紝綆$悊鑰呮湁璐d換甯姪榪欎簺浜猴紙涔熷寘鎷按騫寵緝楂樼殑浜猴級鎻愰珮姘村鉤錛屼粬浠彲浠ョ湅涓浜涗功錛屼笂緗戠湅璧勬枡錛岃鍒漢鐨勪唬鐮佺瓑絳夛紝閫旂粡榪樻槸寰堝鐨勩備絾闂鏄綘濡備綍鍘昏 閲忓叾鏄惁鐪熸鏈夋墍鏀惰幏銆傛垜浠殑緇忛獙鏄紝鍦ㄦ瘡騫村ぇ綰?鏈堜喚涓烘瘡涓伐紼嬪笀鍒跺畾鏁翠釜騫村害鐨勭洰鏍囷紝姣忎釜浜虹殑鐩爣鍖呮嫭浜у搧涓婄殑錛屾妧鏈笂鐨勶紝涓漢鑳藉姏涓婄殑絳?鍒?欏廣傚崐騫村悗鍜屼竴騫村悗錛岃鍋氫袱嬈erformance Review錛岀洰鏍囨槸鍚﹀疄鐜幫紝涔熶細璺熺嘩鏁堣瘎瀹氭寕閽┿傛垜浠湪鍒跺畾鐩爣鏃訛紝閬靛驚SMART鍘熷垯錛屽嵆錛?/p>

 

Specific錛堟槑紜殑錛夛細鐩爣搴旇鎸夌収鏄庣‘鐨勭粨鏋滃拰鎴愭晥琛ㄨ堪銆?/p>

Measurable錛堝彲琛¢噺鐨勶級錛氱洰鏍囩殑瀹屾垚鎯呭喌搴旇鍙互琛¢噺鍜岄獙璇併?/p>

Aligned錛堢粨鐩熺殑錛夛細鐩爣搴旇涓庡叕鍙哥殑鍟嗕笟絳栫暐淇濇寔涓鑷淬?/p>

Realistic錛堢幇瀹炵殑錛夛細鐩爣铏界劧搴斿叿鎸戞垬鎬э紝浣嗘洿搴旇鑳藉湪緇欏畾鐨勬潯浠跺拰鐜涓嬪疄鐜般?/p>

Time-Bound錛堟湁鏃墮檺鐨勶級錛氱洰鏍囧簲璇ュ寘鎷竴涓疄鐜扮殑鍏蜂綋鏃墮棿銆?/p>

 

姣斿錛氭煇涓漢鍒跺畾浜?#8220;鍒濇鎺屾彙鏈湴鍖栨妧鏈?#8221;鐨勭洰鏍囷紝浠栬紜畾瀹炵幇鏃墮棿錛岃鎻忚堪瀛︿範鐨勯旂粡鍜屾楠わ紝瑕侀氳繃灝嗘妧鏈柦鍔犲埌鍏徃鐜版湁鐨勪駭鍝佷腑錛屼負鍏徃浜у搧鐨勬湰鍦板寲/鍥介檯鍖?鍏ㄧ悆鍖栦綔涓浜涙帰绱紝騫跺埗浣淧resentation緇欏洟闃熸紨紺轟粬鐨勬垚鏋滐紝騫跺噯澶囧洖絳斿叾浠栦漢鎻愬嚭鐨勯棶棰樸傚洟闃熻繕涓轟簡閰嶅悎鍏跺疄鐜扮洰鏍囷紝緇勭粐Tech Talk鐨勬椿鍔紝渚涘ぇ瀹跺垎浜瘡涓漢鐨勫涔犳垚鏋溿傞氳繃榪欎簺鎵嬫錛屾彁楂樺紑鍙戜漢鍛樼殑鑷鍏磋叮錛屽茍閫愭鎻愰珮寮鍙戜漢鍛樼殑鎶鏈按騫熾?/p>

 

8. 濡備綍鎻愰珮寮鍙戜漢鍛樼殑涓昏鑳藉姩鎬э紵

 

鎻愰珮寮鍙戜漢鍛樼殑涓昏鑳藉姩鎬э紝灝戜笉浜嗘縺鍔辨満鍒躲備笉鑳借寮鍙戜漢鍛樻劅鍒幫紝5騫翠互鍚庣殑浠栧拰鐜板湪姣斾笉浼氭湁浠涔堣繘姝ャ備綘瑕佽浠栨劅鍒頒粬鎵浠庝簨鐨勬槸涓涓亴涓氾紙Career錛夛紝鑰屼笉鍙槸涓浠藉伐浣滐紙Job錛夈傚惁鍒欙紝浠栦滑鏄笉浼氫富鍔ㄦ姇鍏ュ埌宸ヤ綔涓殑銆傛垜浠殑緇忛獙鏄彁渚涗竴濂楄亴涓氬彂灞曠殑妗嗘灦銆傛鏋跺埗瀹氫簡2綾誨彂灞曢亾璺紝綆$悊綾伙紙Managerial Path錛夊拰鎶鏈被錛圱echnical Path錛夛紝6涓亴涓氱駭鍒紙1-3綰ф槸Entry/Associate錛孖ntermediate錛孲enior銆?綰х鐞嗙被鏄疢anager/Senior Manager錛屾妧鏈被鏄疨rincipal/Senior Principal銆?綰х鐞嗙被鏄疍irector/Senior Director錛屾妧鏈被鏄疐ellow/Architect銆?綰ф槸Executive Management錛夈傛瘡涓駭鍒兘鏈?3涓柟闈㈢殑鍏蜂綋瑕佹眰錛屽寘鎷細鑼冨洿錛圫cope錛夈佽法鑱岃兘錛圕ross Functional錛夈佸眰嬈★紙Level錛夈佺煡璇嗭紙Knowledge錛夈佹寚瀵鹼紙Guidance錛夈侀棶棰樿В鍐籌紙Problem Solving錛夈侀掍氦鎴愭灉錛圖elivering Result錛夈佽矗浠繪劅錛圧esponsbility錛夈佸甯堬紙Mentoring錛夈佷氦嫻侊紙Communication錛夈佽嚜瀛︼紙Self-Learning錛夛紝榪愪綔鐩戠潱錛圤perational Oversight錛夛紝瀹㈡埛鍝嶅簲錛圕ustomer Responsiveness錛夈傛瘡騫存湁2嬈℃彁楂樼駭鍒殑鏈轟細錛屽紑鍙戜漢鍛樹竴鏃﹀叿澶囦簡鍗囩駭鐨勬潯浠訛紝浠栫殑Supervisor灝嗕細鎻愬嚭鐢寵錛屼竴鏃︽壒鍑嗭紝浠栫殑澶磋闅忎箣鎻愰珮錛岃柂姘翠篃浼氭湁鐩稿杈冨ぇ鎻愰珮銆備粠鑰屼嬌姣忎釜寮鍙戜漢鍛樿寰?#8220;鏈夊澶?#8221;錛岃嚜鐒朵粬浠殑涓昏鑳藉姩鎬т篃灝辨彁楂樹簡銆?/p>

 

涓婇潰鐨?#8220;濂楄礬”娑夊強浜嗚蔣浠剁爺鍙戝洟闃熺鐞嗕腑鐨勭爺鍙戣繃紼嬨佹妧鏈疄璺點佹枃妗g鐞嗐佹縺鍔辨満鍒剁瓑涓浜涙柟闈€備絾鍙槸涔濈墰涓姣涳紝鐮斿彂鍥㈤槦綆$悊娑電洊鐨勫唴瀹硅繕鏈夊緢澶氬緢澶氾紝榪橀渶瑕佺鐞嗚呭湪涓嶆柇鎺㈢儲鍜屽疄璺電殑閬撹礬涓婂涔犲拰鎺屾彙銆?/p>

杞嚜錛?a >http://www.cnblogs.com/wanghui9072229/archive/2011/03/18/1988477.html

]]>
閰嶇疆綆$悊鐨勭簿楂?/title><link>http://www.shnenglu.com/flyinghare/archive/2013/08/09/202429.html</link><dc:creator>浼氶鐨勫厰瀛?/dc:creator><author>浼氶鐨勫厰瀛?/author><pubDate>Fri, 09 Aug 2013 03:32:00 GMT</pubDate><guid>http://www.shnenglu.com/flyinghare/archive/2013/08/09/202429.html</guid><wfw:comment>http://www.shnenglu.com/flyinghare/comments/202429.html</wfw:comment><comments>http://www.shnenglu.com/flyinghare/archive/2013/08/09/202429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flyinghare/comments/commentRss/202429.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flyinghare/services/trackbacks/202429.html</trackback:ping><description><![CDATA[<div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 12px; line-height: normal; background-color: #67a10f;"><div><h3><span style="font-size: 20px; font-family: 寰蔣闆呴粦, 榛戜綋, Arial, Helvetica, sans-serif;">閰嶇疆綆$悊鐨勭簿楂?/span>  </h3><p clearfix="" nbw-act="" fc06"="" style="zoom: 1; margin: 0px 0px 20px; padding: 0px; color: #3e6700; line-height: 20px;"><span style="float: left;"><span style="margin: 0px 2px;">2012-05-30 18:00:46</span><span style="margin: 0px 2px;">|  鍒嗙被錛?/span> <a m2a"="" title="閰嶇疆綆$悊" style="cursor: pointer; text-decoration: none; color: #e6ff82;">閰嶇疆綆$悊</a> <span id="$_blogTagTitle" style="margin: 0px 2px;">|  鏍囩錛?/span><span id="$_blogTagInfo" style="color: #e6ff82;"><a m2a"="" style="cursor: pointer; text-decoration: none; color: #e6ff82;">閰嶇疆綆$悊</a>  <br /></span></span><span fc07="" ztag"="" style="float: right; color: #a5d857;"><span style="margin: 0px 2px;">|</span><span fc03"="" id="$_fontswitch" style="color: #e6ff82; position: relative; cursor: default;">瀛楀彿</span></span><span pnt="" fc03"="" id="$_blog_subscribe" style="cursor: pointer; float: right; color: #e6ff82;"> <a style="cursor: pointer;">璁㈤槄</a></span></p></div></div><div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 12px; line-height: normal; background-color: #67a10f;"></div><div style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; font-size: 12px; line-height: normal; background-color: #67a10f;"></div><div fc05="" fc11="" nbw-blog="" ztag="" js-fs2"="" style="line-height: 25px; word-wrap: break-word; color: #02540a; margin: 15px 0px; padding-top: 5px; padding-bottom: 5px; overflow: hidden; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #67a10f;"><p style="margin: 0px 0px 10px; padding: 0px;">閰嶇疆綆$悊鐨勭簿楂?nbsp;<br />璐濆皵瀹為獙瀹ゅ厛榪涙妧鏈爺絀墮櫌   濮滄搗涓?/p><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;">       闅忕潃鍥藉唴杞歡涓氱殑宕涜搗鍜屾垚鐔燂紝杞歡閰嶇疆綆$悊瓚婃潵瓚婂緱鍒伴噸瑙嗐傚彲浠ヨ錛岃蔣浠朵笟瑕佹兂鏇村ソ鐨勫彂灞曪紝娌℃湁杞歡閰嶇疆綆$悊鐨勬敮鎸佹槸涓嶅彲鑳界殑銆傛墜宸ヤ綔鍧婂紡鐨勮蔣浠跺紑鍙戞ā寮忓皢浼氭垚涓哄巻鍙詫紝濡備綍鎶婂浗澶栨垚鐔熺殑杞歡閰嶇疆綆$悊鐞嗚鍜岀粡楠屾秷鍖栧惛鏀訛紝榪涜屽簲鐢ㄥ埌鍥藉唴杞歡寮鍙戜腑灝辨垚涓哄浗鍐呰蔣浠朵笟榪湪鐪夌潾鐨勪換鍔′簡銆?nbsp;<br />       杞歡閰嶇疆綆$悊鏄鐞嗗拰鎶鏈浉緇撳悎鐨勪竴闂ㄥ縐戙傚簲璇ヨ錛岃蔣浠墮厤緗鐞嗙悊璁洪毦浠ョ悊瑙f槸鍏墮毦浠ュ疄璺電殑鍘熷洜銆傛湰鏂囪瘯浠庡熀鏈蹇電殑瑙掑害鏉ユ帰璁ㄨ繖闂ㄥ杞歡寮鍙戝叿鏈夐噸瑕佹剰涔夌殑棰嗗煙銆?/p><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"><br />浠涔堟槸閰嶇疆綆$悊 <br />       鍦ㄨ蔣浠跺紑鍙戜腑錛屽彉鏇存槸涓嶅彲閬垮厤鐨勩備粠鏌愮瑙掑害涓婅錛岃蔣浠跺紑鍙戣繃紼嬪氨鏄竴涓彉鏇寸殑榪囩▼銆傛湁浜涘彉鏇存槸鏈夌泭鐨勶紝鏄叿鏈夊垱閫犳х殑錛屼絾鏄紝涔熸湁浜涘彉鏇存槸鏈夊鐨勶紝瀵艱嚧娣蜂貢鐨勩傛鍍廕ames Bach 鎬葷粨鐨勯偅鏍鳳細 <br />        <strong>鎴戜滑涓哄彉鏇存墍鍥版壈錛屽洜涓轟唬鐮佷腑鐨勪竴涓瀬灝忕殑娣蜂貢鍙兘甯︽潵浜у搧鐨勫ぇ鐨勬晠闅滐紝浣嗘槸錛屼粬涔熻兘澶熶慨澶嶅ぇ鐨勬晠闅滄垨鍚敤濂囧鐨勬柊鑳藉姏銆傛垜浠負鍙樻洿鎵鍥版壈錛屽洜涓烘煇涓枩嬈㈡伓浣滃墽鐨勫崟涓紑鍙戣呭彲鑳界牬鍧忔帀欏圭洰錛屼絾鏄紝涓浜涘濡欑殑鎬濇兂涔熸簮鑷偅浜涘枩嬈㈡伓浣滃墽鐨勪漢鍛樸?nbsp;</strong><br />        鍥犳錛屽浣曠鐞嗚繖浜涘彉鏇存槸涓涓蔣浠跺紑鍙戣兘鍚︽垚鍔熺殑鍏抽敭銆傜畝璦涔嬶紝杞歡閰嶇疆綆$悊灝辨槸綆$悊鍙樻洿鐨勮繃紼嬶紝瀹冭瘡絀跨潃鍑犱箮杞歡鐨勬暣涓敓鍛藉懆鏈熴傛垚鍔熺殑閰嶇疆綆$悊緋葷粺鍙互鎻愰珮浜у搧鐨勮川閲忋侀」鐩紑鍙戞晥鐜囷紝鑰屼笖鏈澶ч檺搴︾殑鍑忓皯瀵逛釜鍒?#8220;鑻遍泟”寮忎漢鍛樼殑渚濊禆銆?nbsp;<br />        灝界閰嶇疆綆$悊錛圕onfiguration Management 錛夎繖涓蹇佃鎻愬嚭鏈夊嚑鍗佸勾浜嗭紝浣嗘槸錛屼笟鍐呰繕娌℃湁涓涓叏闈㈣屾潈濞佺殑瀹氫箟銆侰onfiguration 鐨勬剰鎬濇槸“浣挎垚褰?#8221;錛屽畠鏉ユ簮浜庢媺涓佽鐨刢om-錛堣〃紺?#8220;涓?#8221;鎴栬?#8220;涓璧?#8221;錛夊拰figurate ( 褰㈡垚) 銆傚畠榪樻湁涓涓剰鎬濇槸“緇勬垚閮ㄤ歡鎴栧厓绱犵殑鐩稿鎺掑垪”銆傚洜姝わ紝閰嶇疆綆$悊錛圕onfigurationManagement 錛夋寚鐨勬槸綆$悊緇勬垚閮ㄤ歡鎴栬呭厓绱犵殑鐩稿鎺掑垪銆?nbsp;<br />        閰嶇疆綆$悊鐨勬蹇墊潵鑷簬紜歡棰嗗煙錛岀編鍥藉浗闃查儴鏈鏃╀嬌鐢ㄤ簡閰嶇疆綆$悊鐨勬蹇點傛垜浠煡閬撲竴鏋墮鏈虹殑鏋勬垚闈炲父澶嶆潅錛屾瘮濡傛満澶淬佹満韜佹満緲煎拰鏈哄熬絳夈備笉鍚屽瀷鍙烽鏈虹殑鍚勪釜閮ㄥ垎鏄笉鑳介殢渚跨粍瑁呯殑銆傚洜姝わ紝鎴戜滑鍙湁鎶婄浉鍖歸厤鐨勯儴浠剁粍瑁呭湪涓璧鳳紝鎵嶈兘鏋勬垚浜嗕竴涓姛鑳藉畬澶囩殑椋炴満鏁翠綋銆傞殢鐫鎶鏈殑鎻愰珮錛屽悇涓儴浠跺彲鑳借繕瑕佽繘琛屽姛鑳芥敼鍠勶紝鎴戜滑榪樿浣垮緱涓嶅悓鐗堟湰鐨勯儴浠惰兘澶熸紜棤璇粍鍚堝湪涓璧楓?nbsp;<br />鍑嗙‘鍦拌錛?nbsp; <br />       閰嶇疆綆$悊鏄浜у搧榪涜鏍囪瘑銆佸瓨鍌ㄥ拰鎺у埗錛屼互緇存姢鍏跺畬鏁存с佸彲榪芥函鎬т互鍙婃紜х殑瀛︾銆?nbsp;<br />浠庝笂闈㈢殑鎻忚堪錛屾垜浠煡閬擄紝閰嶇疆綆$悊鐨勫熀鏈崟浣嶆槸閰嶇疆欏廣傝蔣浠墮厤緗」鍙互鏄細</p><ul dir="ltr" style="margin: 5px 0px 5px 40px; padding: 0px;"><li><div style="margin-right: 0px;"> 涓庡悎鍚屻佽繃紼嬨佽鍒掑拰浜у搧鏈夊叧鐨勬枃妗e拰鏁版嵁</div></li><li><div style="margin-right: 0px;">婧愪唬鐮併佺洰鏍囦唬鐮佸拰鍙墽琛屼唬鐮?/div></li><li><div style="margin-right: 0px;">鐩稿叧浜у搧錛屽寘鎷蔣浠跺伐鍏楓佸簱鍐呯殑鍙鐢ㄨ蔣浠躲佸璐蔣浠跺強鐢ㄦ埛鎻愪緵鐨勮蔣浠?/div></li></ul><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"> <br />  浠?#8220;鍝插”鎰忎箟涓婅錛岄厤緗鐞嗚褰曢厤緗」鐨勪笁涓柟闈細 <br /></p><ul dir="ltr" style="margin: 5px 0px 5px 40px; padding: 0px;"><li><div style="margin-right: 0px;">浠庡摢閲屾潵錛熸欏瑰彲褰掔粨涓篧WW 鐨勯棶棰橈紝錛圵ho錛夎皝鍒涘緩鐨勶紵錛圵hen錛変粈涔堟椂闂村垱寤虹殑錛燂紙Why錛変負浠涔堝垱寤烘閰嶇疆欏癸紵</div></li><li><div style="margin-right: 0px;">褰撳墠鍦ㄥ摢閲岋紵姝ら」綰綍閰嶇疆欏瑰綋鍓嶇殑瀛樺偍浣嶇疆浠ュ強鐘舵併?/div></li><li><div style="margin-right: 0px;">灝嗗埌鍝噷鍘伙紵閫氳繃閰嶇疆鎺у埗鏉ユ妸閰嶇疆欏?#8220;緇勮”鍒版紜殑鐗堟湰涓幓銆?/div></li></ul><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"> <br />       閰嶇疆欏瑰彲浠ユ槸澶х矑搴︾殑錛屼篃鍙互鏄皬綺掑害鐨勩傚鏋滆窡韙釜鍒渶姹傦紝閭d箞涓嶅繀瑕佹妸鏁翠釜闇姹傝鏍艱鏄庢枃妗e畾涔変負涓涓厤緗」錛屽彲浠ユ妸姣忎釜闇姹傚畾涔変負閰嶇疆欏癸紱濡傛灉鎶婅蔣浠跺紑鍙戝伐鍏蜂篃鏀懼叆閰嶇疆綆$悊緋葷粺錛岄偅涔堟妸閰嶇疆欏瑰畾涔変負鏂囦歡綰у氨涓嶅悎閫備簡錛屽彧闇瑕佽窡韙紑鍙戝伐鍏風殑鐗堟湰錛屽嵆鎶婃暣涓厤緗伐鍏峰畾涔変負涓涓厤緗」灝辮凍澶熶簡銆?nbsp;<br />       綆鑰岃█涔嬶紝閰嶇疆欏瑰彲浠ユ槸鏂囦歡綰х矑搴︾殑錛屼篃鍙互浣挎枃浠剁増鏈駭綺掑害鐨勩傚綋鐒訛紝綺掑害瓚婂皬綆$悊鐨勬垚鏈秺楂橈紝浣嗘槸閰嶇疆鐨勭簿搴︿篃灝辮秺楂樸?nbsp;<br />涓涓畬鏁寸殑SCM緋葷粺瑕佸叿鏈変笁涓牳蹇冨姛鑳斤細閰嶇疆鏍囪瘑銆佺増鏈帶鍒躲佸彉鏇存帶鍒躲侀厤緗姸鎬佺粺璁″拰閰嶇疆瀹℃牳銆傚叾涓彉鏇存帶鍒跺寘鎷熀綰跨鐞嗐佸彉鏇磋姹傜鐞嗐佹瀯寤虹鐞嗗拰鍙戝竷綆$悊銆傚涓嬪浘鎵紺恒?nbsp;<br /><br />涓嬮潰錛屾垜浠潵鍏蜂綋鐞嗚В榪欎簺姒傚康銆?nbsp;<br /> <br /><strong>閰嶇疆鏍囪瘑 </strong><br />       閰嶇疆鏍囪瘑灝辨槸璇嗗埆浜у搧鐨勭粨鏋勩佷駭鍝佺殑鏋勪歡鍙婂叾綾誨瀷錛屼負鍏跺垎閰嶅敮涓鐨勬爣璇嗙錛屼篃灝辨槸璇達紝姣忎竴涓厤緗」瑕佹湁涓涓敮涓鏍囪瘑銆備竴鑸鏉ワ紝鏍囪瘑鍖呮嫭涓や釜鏂歸潰錛氫竴鏄枃浠跺悕錛屼簩鏄増鏈紝鍙敤濡備笅涓涓簩鍏冪粍鏉ユ爣璇嗭細< 鏂囦歡鍚嶏紝鐗堟湰> 銆傛瘡涓」鐩鍏堣紜畾涓濂楀懡鍚嶈鍒欙紝渚嬪錛岄噰鐢?#8220;緋葷粺.瀛愮郴緇?妯″潡.鏂囦歡”鐨勬柟寮忥紝</videoConference/audio/compressing/m a in.c , 2.1>灝辨槸涓涓敮涓鏍囪瘑銆?nbsp;<br /> <br /><strong>鐗堟湰鎺у埗 </strong><br />       鐗堟湰鎺у埗灝辨槸瀵瑰湪杞歡寮鍙戣繃紼嬩腑鎵鍒涘緩鐨勯厤緗璞$殑涓嶅悓鐗堟湰榪涜綆$悊錛屼繚璇佷換浣曟椂鍊欓兘鑳藉彇鍒版紜殑鐗堟湰浠ュ強鐗堟湰鐨勭粍鍚堛傚綋鍓嶏紝榪欐柟闈㈠吀鍨嬬殑宸ュ叿鏈夊VSS 鍜孋VS 銆?/p><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"><br /><strong>鍙樻洿鎺у埗 </strong><br />       鍦ㄨ蔣浠跺紑鍙戣繃紼嬶紝瑕佷駭鐢熻澶氬彉鏇達紝姣斿錛岄厤緗」銆侀厤緗佸熀綰褲佹瀯寤虹殑鐗堟湰銆佸彂甯冪増鏈瓑銆傚浜庢墍鏈夌殑鍙樻洿錛岄兘瑕佹湁涓涓帶鍒舵満鍒訛紝浠ヤ繚璇佹墍鏈夊彉鏇撮兘鏄彲鎺х殑銆佸彲璺熻釜鐨勩佸彲閲嶇幇鐨勩傚鍙樻洿榪涜鎺у埗鐨勬満鏋勭О涓哄彉鏇存帶鍒跺鍛樹細錛圕hange Control Board錛岀畝縐?br />CCB 錛夈傚彉鏇存帶鍒跺鍛樹細瑕佸畾鏈熷彫寮浼氳錛屽榪戞湡鎵浜х敓鐨勫彉鏇磋姹傝繘琛屽垎鏋愩佹暣鐞嗭紝騫跺仛鍑哄喅瀹氥傝屼笖瑕侀伒寰竴瀹氱殑鍙樻洿鏈哄埗銆?nbsp;<br />  <br />涓嬮潰鏄竴涓吀鍨嬬殑鍙樻洿鏈哄埗錛?nbsp; <br /><strong>鍙樻洿璇鋒眰綆$悊 </strong><br />       鍙樻洿璇鋒眰綆$悊灝辨槸瀵瑰彉鏇磋姹傦紙Change Request錛岀畝縐癈R錛夎繘琛屽垎綾匯佽拷韙拰綆$悊鐨勮繃紼嬫潵瀹炵幇鐨勩?nbsp;<br />       鍙樻洿鐨勮搗婧愭湁涓ょ錛氬姛鑳藉彉鏇村拰緙洪櫡淇ˉ錛圔ug-Fix錛夈傚姛鑳藉彉鏇存槸涓轟簡澧炲姞鎴栬呭垹闄ゆ煇浜涘姛鑳姐傜己闄蜂慨琛ュ垯鏄宸插瓨鍦ㄧ殑緙洪櫡榪涜淇ˉ銆?nbsp;<br />       瀵瑰彉鏇磋姹傜殑鏈夋晥綆$悊鍙互鎻愰珮浜у搧綆$悊鐨勯忔槑搴︼紝緇忕悊鍙互娓呮鐨勭煡閬撳綋鍓嶄駭鍝佺殑榪涘睍鎯呭喌錛屾瘮濡傛湁澶氬皯涓柊浜х敓鐨凜R錛屽凡緇忚В鍐充簡澶氬皯CR絳夌瓑錛屾湁鍒╀簬緇忕悊鍋氬嚭姝g‘鐨勫喅絳栥?nbsp;<br /> <br /><strong>鍩虹嚎綆$悊 </strong><br />       鍩虹嚎鏄寚緇忚繃姝e紡璇勫鍜屾壒鍑嗭紝鍙綔涓轟笅涓姝ュ伐浣滅殑鍩哄噯鐨勪竴涓厤緗傝蔣浠跺紑鍙戣繃紼嬩腑錛屾棤璁烘槸闇姹傚垎鏋愩佽璁°佹祴璇曢兘闇瑕佸湪瀹屾垚鏃跺緩绔嬪熀綰匡紝浠ヤ綔涓轟笅涓姝ュ伐浣滅殑鍩虹銆?/p><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;">       閫氳繃鍩虹嚎綆$悊鍙互浣跨敤鎴瘋兘澶熼氳繃瀵歸傚綋鐗堟湰鐨勯夋嫨鏉ョ粍鎴愮壒瀹氬睘鎬э紙閰嶇疆錛夌殑杞歡緋葷粺錛岃繖縐嶇伒媧葷殑“緇勮”絳栫暐浣垮緱閰嶇疆綆$悊緋葷粺璞℃惌縐湪浼肩殑浣跨敤宸叉湁鐨勭Н鏈紙鐗堟湰錛夌粍瑁呮垚鍚勭鍚勬牱銆佷笉鍚屽姛鑳界殑妯″瀷銆?nbsp;<br />       鍩虹嚎鐨勫彉鏇撮渶瑕佷竴涓弗鏍肩殑嫻佺▼錛岄渶瑕佹彁鍑虹敵璇鳳紝緇忚繃瀹℃壒錛岀劧鍚庢墠鑳借繘琛屻?nbsp;<br /><strong>鏋勫緩綆$悊 </strong><br />       鍦ㄥ仛鏋勫緩鏃訛紝鎴戜滑闇瑕侀鍏堝彇鍑烘紜殑閰嶇疆錛岀劧鍚庡啀鍋氭瀯寤恒傛垜浠彲浠ュ埄鐢ㄥ熀綰匡紝鍙互鍙栧嚭鏌愪釜鍩虹嚎鐨勬墍鏈夐厤緗」錛屼篃鍙互鍒╃敤閰嶇疆綆$悊緋葷粺鐨勬瀯寤哄姛鑳界洿鎺ュ湪宸ヤ綔絀洪棿鍐呭仛鏋勫緩銆?nbsp;<br />       鏋勫緩綆$悊闇瑕侀厤緗鐞嗗伐鍏風殑鏀寔銆?nbsp;<br /><strong>鍙戝竷綆$悊 <br /></strong>       杞歡浜у搧鐨勬瘡涓増鏈兘鏄竴緇勯厤緗」錛堟簮浠g爜銆佹枃妗c佹暟鎹級鐨勯泦鍚堛備婦涓緥瀛愭潵璇達紝鎴戜滑瑕佸彂甯冭蔣浠剁殑32.6 鐗堟湰錛岄偅涔堟垜浠氨瑕佹妸婧愪唬鐮併佹枃妗c佹暟鎹腑鎵鏈夊簲璇ュ寘鍚埌榪欎釜鐗堟湰涓殑姝g‘閰嶇疆欏規鍑恒?nbsp;<br />       鎵浠ュ浣曠鐞嗘瘡涓増鏈腑鍖呭惈鍝簺閰嶇疆欏規槸闈炲父閲嶈鐨勩?nbsp; <br /><strong>鐘舵佹姤鍛?nbsp;<br /></strong>鐘舵佹姤鍛婅鍥炵瓟鎵璋?W 鐨勯棶棰橈細 <br />What錛氬彂鐢熶簡浠涔堜簨錛?nbsp;<br />Who錛氳皝鍋氱殑姝や簨錛?nbsp;<br />When錛氭浜嬫槸浠涔堟椂鍊欏彂鐢熺殑錛?nbsp;<br />Why錛氫負浠涔堝仛姝や簨錛?nbsp;<br />鐘舵佹姤鍛婅鑳藉鎶ュ憡鎵鏈夐厤緗」浠ュ強鍙樻洿璇鋒眰鐨勭姸鎬侊紝閫氳繃閲忓寲鐨勬暟鎹拰鎶ヨ〃鍙嶆槧欏圭洰寮鍙戣繘搴︾殑鐘舵併?nbsp;<br /><strong>閰嶇疆瀹℃牳 </strong><br />       閰嶇疆瀹℃牳瑕佸鏌ユ暣涓厤緗鐞嗚繃紼嬫槸鍚︾鍚堣鑼冿紝閰嶇疆欏規槸鍚︿笌闇姹備竴鑷達紝璁板綍姝g‘錛岄厤緗殑緇勬垚鏄惁鍏鋒湁涓鑷存х瓑絳夈傛瘮濡傦紝闇姹傚垎鏋愭枃妗f彁浜ゅ悗錛岄渶瑕佺敱涓涓敱鐩稿叧浜虹粍鎴愮殑灝忕粍榪涜姝e紡璇勫錛屽彧鏈夐氳繃浜嗚瘎瀹℃墠鑳藉熀綰垮寲銆傚浜庢簮浠g爜涔熶竴鏍鳳紝涓鑸鏉ワ紝姣忚浠g爜閮借榪涜璇勫錛圧eview錛夛紝鍙湁閫氳繃璇勫鎵嶈兘浜ょ敱嫻嬭瘯浜哄憳榪涜嫻嬭瘯銆?nbsp;<br /><strong>瀹炴柦閰嶇疆綆$悊鐨勫ソ澶?nbsp;</strong><br />       鎴戜滑鐭ラ亾杞歡鏈変笁涓绱狅細鏃墮棿銆侀綆楀拰璐ㄩ噺銆備竴涓垚鍔熺殑杞歡灝辨槸瑕佸湪闄愬畾鐨勬椂闂村唴錛屼笉瓚呰繃棰勭畻錛屼氦浠樼鍚堣川閲忚姹傜殑浜у搧銆傜湡姝e疄鏂介厤緗鐞嗗悗錛屾垜浠細瀵逛駭鍝佺殑寮鍙戣繃紼嬭繘琛屾湁鏁堢殑鎺у埗錛屽彲浠ュ姞蹇紑鍙戣繘搴︼紝闄嶄綆寮鍙戞垚鏈紝淇濊瘉浜у搧鐨勮川閲忋?nbsp;<br /><strong>浜у搧緇忕悊鍙互寰楀埌浠涔堝ソ澶勫憿錛?/strong> <br /></p><ul dir="ltr" style="margin: 5px 0px 5px 40px; padding: 0px;"><li><div style="margin-right: 0px;">鍑嗙‘鎺屾彙欏圭洰鐨勫紑鍙戣繘搴︺傞厤緗鐞嗙郴緇熷彲浠ユ彁渚涜灝界殑鐘舵佹姤鍛婏紝渚嬪褰撳墠緋葷粺鏈夊灝戜釜Bug錛屾墍鏈塀ug 鐨勭姸鎬佸浣曪紵宸茬粡瑙e喅浜嗗灝態ug錛?/div></li><li><div style="margin-right: 0px;">浜嗚В欏圭洰緇勬垚鍛樼殑宸ヤ綔璐熻嵎銆佸伐浣滄晥鐜囦互鍙婂伐浣滆川閲忋備緥濡傦紝鎴戜滑鍙互鐭ラ亾褰撳墠鍒嗛厤緇欐瘡涓垚鍛樼殑宸ヤ綔閲忥紝姣忎釜鎴愬憳宸插畬鎴愮殑宸ヤ綔閲忥紝姣忎釜鎴愬憳鏈氳繃姝e紡璇勫鐨勫伐浣滄瘮渚嬬瓑絳夈?/div></li><li><div style="margin-right: 0px;">鍑忓皯浜哄憳嫻佸姩鎵甯︽潵鐨勫獎鍝嶃傛瘡涓垚鍛樼殑鎵鏈夊彉鏇達紝鍖呮嫭鏂囨。銆佷唬鐮佺殑澧炲垹閮芥槸鍙拷韙殑錛岃屼笖瀵逛簬鍙樻洿鐨勫師鍥犮佹弿榪頒篃閮芥湁璁板綍銆傝繖鏍鳳紝涓鏃︽垚鍛樼寮錛屽叾瀹冩垚鍛樺氨鍙互鍦ㄦ渶鐭殑鏃墮棿閲屾帴鎵嬨?/div></li><li><div style="margin-right: 0px;"> 鏈夋晥鎻愰珮榪囩▼綆$悊錛岄厤緗鐞嗕駭鐢熺殑璁稿鏁版嵁鍙綔涓虹鐞嗚呭害閲忛」鐩殑渚濇嵁銆?/div></li></ul><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"><br /><strong>寮鍙戜漢鍛樺拰嫻嬭瘯浜哄憳鍙互寰楀埌浠涔堝ソ澶勫憿錛?/strong></p><ul dir="ltr" style="margin: 5px 0px 5px 40px; padding: 0px;"><li><div style="margin-right: 0px;"> 鎻愪氦鐨勪唬鐮佽鏈夋晥淇濆瓨錛屽紑鍙戜漢鍛樺啀涔熶笉鐢ㄨ姳璐圭簿鍔涘幓淇濆瓨鍚勪釜鐗堟湰浜嗐?/div></li><li><div style="margin-right: 0px;"> 鎻愰珮鍥㈤槦鐨勫崗浣滄晥鐜囥傚紑鍙戜漢鍛樹箣闂翠互鍙婂紑鍙戜漢鍛樺拰嫻嬭瘯浜哄憳涔嬮棿鍙互鏈夋晥鐨勬矡閫氾紝澶у閮戒簰鐩哥煡閬撳叾瀹冧漢鐨勫伐浣滅姸鎬併?/div></li><li><div style="margin-right: 0px;"> 鎻愰珮淇緙洪櫡鐨勬晥鐜囥傚彲浠ヤ緷鎹瓸ug 鍙戠幇鐨勭増鏈紝榪呴熼噸寤虹幆澧冿紝閲嶇幇Bug錛屽揩閫熷畾浣嶄唬鐮侊紝鎵懼嚭鏍規簮銆?/div></li><li><div style="margin-right: 0px;">鑱岃矗娓呮錛屼換鍔℃槑紜傛瘡涓姝ョ殑宸ヤ綔閮芥槸鍩轟簬鏌愪竴鍩虹嚎鐨勶紝姣斿錛岃璁℃枃妗f槸渚濇嵁鍩虹嚎鍖栦簡鐨勯渶姹傚垎鏋愭枃妗o紝榪欐牱涓鏃﹀嚭鐜伴棶棰橈紝灝卞彲浠ユ壘鍑洪棶棰樺嚭鍦ㄤ粈涔堝湴鏂廣?/div></li></ul><p dir="ltr" style="margin: 0px 0px 10px; padding: 0px;"><br /> <br />      褰撶劧錛屽疄鏂介厤緗鐞嗙殑濂藉榪滀笉姝㈣繖浜涖傝蔣浠墮厤緗鐞嗕綔涓鴻蔣浠跺紑鍙戠殑鍩虹煶錛屽畠鎻愪緵浜嗕竴涓崗浣滃紑鍙戠殑鐜錛屽彧鏈夊ぇ瀹跺叡鍚岄伒瀹堥厤緗鐞嗚鑼冿紝浜掔浉鍗忎綔鎵嶈兘淇濊瘉欏圭洰鐨勬垚鍔熴?nbsp;<br /> <br />緇撴潫璇?nbsp;<br /> <br />       閰嶇疆綆$悊鏈韓鏃犺浠庣悊璁哄拰瀹炶返閮藉湪涓嶆柇涓板瘜鍜屽彂灞曘備緥濡傦紝閰嶇疆綆$悊搴旂敤浜?#8220;鐭ヨ瘑搴?#8221;鐨勭鐞嗗氨浜х敓浜?#8220;鍐呭綆$悊”榪欎竴鏂扮殑棰嗗煙銆傞厤緗鐞嗘彁渚涚殑鐘舵佹姤鍛婂拰鏁版嵁緇熻涔熶負杞歡搴﹂噺鎻愪緵浜嗗喅絳栦緷鎹傞厤緗鐞嗕負欏圭洰綆$悊鎻愪緵浜嗗悇縐嶇洃鎺ч」鐩繘灞曠殑瑙嗚錛屼負欏圭洰緇忕悊紜垏鎺屾彙欏圭洰榪涚▼鎻愪緵浜嗕繚璇併傞厤緗鐞嗕篃涓哄紑鍙戜漢鍛樻彁渚涗簡涓涓崗浣滅殑騫沖彴錛屽湪姝ゅ鉤鍙頒笂錛屽ぇ瀹惰兘澶熸洿鏈夋晥鐜囩殑浜ゆ祦鍜屽崗浣溿傚彲浠ヨ錛岄厤緗鐞嗘槸杞歡寮鍙戠殑鍩虹煶錛?nbsp;<br />       閰嶇疆綆$悊榪戝勾鏉ュ湪涓浗寰楀埌浜嗘瀬澶х殑璁ゅ彲錛屽彲浠ユ涓嶅じ寮犵殑璇達紝娌℃湁閰嶇疆綆$悊錛屽氨璋堜笉涓婅蔣浠跺紑鍙戯紝灝辮皥涓嶄笂杞歡璐ㄩ噺錛屽氨璋堜笉涓婅蔣浠朵笟鐨勫彂灞曘傞殢鐫杞歡涓氳妯$殑鎵╁ぇ錛岄厤緗鐞嗙殑瀹炴柦涓嶆槸瑕佷笉瑕佺殑闂錛岃屾槸浠涔堟椂闂淬佸浣曞疄鏂界殑闂浜嗐?nbsp;<br />鍙傝冩枃鐚細 <br />Babich, W.A., Software Configura tion Management, Addison-Wesley, 1986. Peter H. Feiler, Configuration Management Models in Commercial Environment, CMU/SEI-91-TR-7, 1991.4 <br /> <br />浣滆呯畝浠嬶細2000騫村湪鍖楁柟浜ら氬ぇ瀛﹁幏宸ュ紜曞+瀛︿綅銆傜幇渚涜亴浜庢湕璁鎶錛堜腑鍥斤級鏈夐檺鍏徃璐濆皵瀹為獙瀹ゅ厛榪涙妧鏈爺絀墮櫌錛屼粠浜嬮厤緗鐞嗙郴緇熺殑鐮旂┒鍜屽紑鍙戯紝鏈夊洓騫村鐨勯厤緗鐞嗛鍩熷紑鍙戙佸挩璇€佸煿璁粡楠屻?/p></div>杞嚜錛?a >http://blog.163.com/wangdan10799@126/blog/static/10230093201243054322378/</a><img src ="http://www.shnenglu.com/flyinghare/aggbug/202429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flyinghare/" target="_blank">浼氶鐨勫厰瀛?/a> 2013-08-09 11:32 <a href="http://www.shnenglu.com/flyinghare/archive/2013/08/09/202429.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏈夋椂闂翠竴澶╃湅涓嬈? http://www.shnenglu.com/flyinghare/archive/2013/08/09/202428.html浼氶鐨勫厰瀛?/dc:creator>浼氶鐨勫厰瀛?/author>Fri, 09 Aug 2013 03:29:00 GMThttp://www.shnenglu.com/flyinghare/archive/2013/08/09/202428.htmlhttp://www.shnenglu.com/flyinghare/comments/202428.htmlhttp://www.shnenglu.com/flyinghare/archive/2013/08/09/202428.html#Feedback0http://www.shnenglu.com/flyinghare/comments/commentRss/202428.htmlhttp://www.shnenglu.com/flyinghare/services/trackbacks/202428.html銆愭案榪滈兘涓嶈鍋氱殑浜嬨?錛岃窡鐭ュ繁涓婂簥 2銆佸拰鎯呬漢緇撳 3銆佹妸鍚屼簨褰撴垚鏈嬪弸4銆佸埌鏈嬪弸鍏徃鎵撳伐 5銆佸湪涓婂徃闈㈠墠鐭ユ棤涓嶈█ 6銆佽交淇′笂鍙哥殑璁歌 7銆佸枩鎬掑搥涔愰兘鎸傚湪鑴鎬笂 8銆佸湪浜哄爢閲屽ぇ澹拌鎵嬫満 9銆佷範鎯簬緇欒嚜宸辨壘鍊熷彛 10銆佽秴杞﹁繃鍘伙紝鐪嬪紑鐫杞︽湁鐫紿堢獣鑳屽獎鐨凪M鐨勮劯 11銆佸MM鐨?瀛椾俊浠ヤ負鐪?12銆佹寚鏈涘墠濂沖弸鍥炲績杞剰銆?/span>

銆愬仛浜虹殑搴曠嚎銆戯紙1錛?涓嶅仛絎笁鑰咃紝鍗充嬌鍐嶅枩嬈紙2錛?楠楁垜鍙互錛屽鏋滆鎴戠煡閬撹秴榪囦袱嬈★紝璇蜂綘鏈夊榪滄粴澶氳繙錛?錛?濡傛灉浣犳嬁鎴戜笉褰撳洖浜嬶紝鎴戜細浠ュ悓鏍鋒柟寮忓浣狅紙4錛?鎴戝彲浠ヨ鍌伙紝浣嗗埆浠ヤ負鎴戠湡鍌伙紙5錛?鎴戝彲浠ュ蹇嶏紝浣嗗埆瓚呰繃鎴戠殑搴曠嚎錛?錛?鎴戜笉鏄病鑴炬皵錛屽彧鏄笉杞繪槗鍙戣劸姘旓紙7錛?浠諱綍鐪熻瘽錛屾垜閮借兘鎺ュ彈銆?/span>

銆愯浣犳垚鐔熻嚦灝?宀佺殑8鍙ヨ瘽銆?銆佸鏋滀綘涓嶅枩嬈㈢幇鍦ㄧ殑宸ヤ綔錛岃涔堣緸鑱屼笉騫詫紝瑕佷箞闂槾涓嶈█銆?銆佸浼氬繊鍙楀鐙?銆佷笉瑕佸儚鐜葷拑閭f牱鑴嗗急錛屽仛涓唴蹇冨己澶х殑浜恒?銆佺浣忚嚜宸辯殑鍢村反銆?銆佷細鍒涢犳満浼氥?銆佽嫢鐢佃瘽鑰佹槸涓嶅搷錛屼綘璇ユ墦鍑哄幓銆?銆佷笉瑕佽崏鐜囩粨濠氥?銆佸啓鍑轟綘涓鐢熻鍋氱殑浜嬫儏錛屾妸鍗曞瓙鏀懼湪鐨す閲岋紝緇忓父鎷垮嚭鏉ョ湅銆?/span>

銆愭垚鍔熻呯殑涔犳儻銆?.寰瑧銆?.姘旇川綰湸銆?.涓嶅悜鏈嬪弸鍊熼挶銆?.鑳屽悗璇村埆浜哄ソ璇濄?.鍚埌鏌愪漢璇村埆浜哄潖璇濇椂鍙井絎戙?.榪囧幓鐨勪簨涓嶈浜哄叏鐭ラ亾銆?. 灝婃暚涓嶅枩嬈綘鐨勪漢銆?.瀵逛簨鏃犳儏錛屽浜烘湁鎯呫?0.澶氬仛鑷垜鎵硅瘎銆?1.涓哄埆浜哄枬褰┿?2.鎰熸仼銆?3.瀛︿細鑱嗗惉銆?4.璇磋瘽鏃跺父鐢ㄦ垜浠紑澶淬?5.灝戣璇濄?6.鍠滄鑷繁銆?/span>

銆愬緩绔嬩漢鑴夌殑15涓彁紺恒?銆佸浼氭崲浣嶆濊冿紱2銆佸浼氶傚簲鐜錛?銆佸浼氬ぇ鏂癸紱4銆佸浼氫綆璋冿紱5銆佸槾瑕佺敎錛?銆佹湁紺艱矊錛?銆佽█澶氬繀澶憋紱8銆佸浼氭劅鎭╋紱9銆侀伒瀹堟椂闂達紱10銆佷俊瀹堣璦錛?1銆佸浼?/span>蹇嶈愶紱12銆佹湁涓棰楀鉤甯稿績錛?3銆佸浼氳禐鎵埆浜猴紱14銆佸緟涓婁互鏁紝寰呬笅浠ュ錛?5甯告璁ㄨ嚜宸便?br />
杞嚜錛?a >http://blog.163.com/wangdan10799@126/blog/static/1023009320121064548110/

]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲国产精品成人精品| 欧美大片免费| 亚洲婷婷综合久久一本伊一区| 久久综合九色九九| 亚洲精品在线观| 9久re热视频在线精品| 国产精品久久久久久模特| 性欧美大战久久久久久久久| 亚洲一区二区三区免费在线观看 | 亚洲精品久久久久久久久久久| 久久综合给合久久狠狠狠97色69| 久久久夜夜夜| 亚洲乱码国产乱码精品精| 亚洲高清在线观看| 久久青草久久| 欧美日韩午夜在线| 亚洲欧美中文日韩v在线观看| 亚洲一区一卡| 在线观看日韩欧美| 99精品国产99久久久久久福利| 国产精品国产三级国产a| 久久精品一二三| 欧美精品在线看| 久久av二区| 欧美高清在线一区| 久久不射网站| 欧美日韩精品欧美日韩精品一| 香蕉久久a毛片| 欧美大色视频| 久久精品一本久久99精品| 欧美日韩成人在线观看| 久久亚洲不卡| 国产精品美腿一区在线看| 亚洲成色999久久网站| 国产美女精品视频| 日韩视频在线观看一区二区| 国产麻豆成人精品| 亚洲精品免费在线| 在线看国产日韩| 亚洲欧美日韩精品一区二区| 夜夜嗨av色一区二区不卡| 在线午夜精品| 一区二区不卡在线视频 午夜欧美不卡'| 性欧美video另类hd性玩具| 亚洲精品影院| 欧美a级片网| 欧美成人精品三级在线观看 | 欧美一级日韩一级| 亚洲自拍都市欧美小说| 男人的天堂成人在线| 久久人人爽人人| 国产日韩在线看| 亚洲欧美美女| 先锋影院在线亚洲| 国产精品女人网站| 宅男精品视频| 亚洲一区二区在线播放| 欧美日韩国产在线播放网站| 亚洲国产一区二区三区青草影视 | 蜜臀va亚洲va欧美va天堂| 久久一区中文字幕| 韩国成人理伦片免费播放| avtt综合网| 亚洲综合国产激情另类一区| 欧美日韩一区自拍| 在线亚洲精品福利网址导航| 国产精品99久久99久久久二8 | 国产自产v一区二区三区c| 亚洲午夜精品福利| 亚洲欧美国产三级| 国模私拍一区二区三区| 亚洲男女毛片无遮挡| 性做久久久久久久免费看| 国产午夜精品久久久久久免费视| 亚洲欧美综合国产精品一区| 欧美一级夜夜爽| 国产日韩欧美在线播放| 国产精品国产三级国产专区53 | 亚洲欧洲99久久| 国产精品天美传媒入口| 亚洲综合日本| 欧美aaaaaaaa牛牛影院| 亚洲人成网在线播放| 欧美日韩国内自拍| 先锋影音国产一区| 欧美国产激情二区三区| 一区二区三区不卡视频在线观看| 国产精品久久久久久久7电影 | 欧美精品免费在线| 亚洲视频在线播放| 老司机成人在线视频| 亚洲日韩视频| 国产精品yjizz| 午夜精品亚洲一区二区三区嫩草| 蜜桃久久精品乱码一区二区| 一区二区欧美亚洲| 国产日韩欧美自拍| 久久亚洲春色中文字幕| 亚洲视频一区在线观看| 免费久久99精品国产自| 一区二区三区视频在线| 国产日韩欧美不卡在线| 日韩视频免费观看| 新狼窝色av性久久久久久| 欧美高清视频www夜色资源网| 亚洲午夜电影在线观看| 一区在线播放| 国产精品日韩欧美一区二区| 久久久蜜桃精品| 亚洲精品一区二区三区蜜桃久| 久久久久国内| 亚洲男人的天堂在线aⅴ视频| 亚洲第一中文字幕在线观看| 国产精品久久久久9999吃药| 久久久久久久国产| 亚洲欧美日韩综合aⅴ视频| 亚洲电影免费观看高清完整版| 在线视频欧美精品| 亚洲国产精品一区制服丝袜| 国产日韩精品一区二区三区在线| 欧美日韩精品综合| 欧美多人爱爱视频网站| 久久夜色精品一区| 欧美一级大片在线观看| 亚洲午夜国产成人av电影男同| 亚洲激情女人| 亚洲成人在线视频播放| 午夜亚洲性色福利视频| 国产精品99久久久久久久vr| 亚洲精品欧美激情| 亚洲欧洲精品成人久久奇米网| 韩国成人理伦片免费播放| 国产精品永久入口久久久| 国产精品盗摄一区二区三区| 欧美精品1区| 欧美黄色视屏| 欧美精品尤物在线| 欧美精品自拍偷拍动漫精品| 免费精品99久久国产综合精品| 久久久久久久性| 美国十次成人| 欧美福利电影在线观看| 性欧美长视频| 欧美日韩国产首页在线观看| 免费亚洲视频| 欧美mv日韩mv亚洲| 欧美精品电影| 欧美日在线观看| 亚洲一区二区三区中文字幕| 99在线热播精品免费99热| 99热这里只有成人精品国产| 一区二区国产日产| 亚洲婷婷在线| 欧美一区高清| 麻豆精品网站| 欧美日本韩国| 国产精品一区二区三区乱码| 国产欧美成人| 国内视频精品| 91久久精品一区二区三区| 亚洲精品在线看| 亚洲欧美国产精品桃花| 久久久www免费人成黑人精品| 麻豆亚洲精品| 亚洲人体一区| 亚洲一区二区三区精品在线观看| 欧美一区二区播放| 免费久久精品视频| 欧美先锋影音| 影音欧美亚洲| 一区二区三区国产盗摄| 午夜在线成人av| 欧美xx视频| av成人动漫| 久久久夜精品| 国产精品欧美一区喷水| 精品成人一区| 亚洲一品av免费观看| 久久夜色精品一区| 亚洲看片一区| 久久爱另类一区二区小说| 欧美成人自拍| 国产在线观看一区| 亚洲午夜在线视频| 免费毛片一区二区三区久久久| 亚洲国产另类久久精品| 亚洲精品美女免费| 欧美日韩一二区| 又紧又大又爽精品一区二区| 亚洲影视综合| 亚洲国产日韩欧美在线99| 午夜久久一区| 国产精品第2页| 日韩午夜激情电影| 免费看黄裸体一级大秀欧美| 亚洲影院在线观看| 欧美日韩视频不卡| 亚洲精品视频二区| 欧美国产1区2区| 欧美在线影院|