• <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>
            隨筆-60  評論-98  文章-0  trackbacks-0
            re: Visual Studio VS C++Builder07 不同的公司,同樣的Bug 創(chuàng)建更好的解決方案 2010-02-03 14:38
            @試試其他的
            int和unsigned int表達(dá)范圍一樣嗎?
            re: Visual Studio VS C++Builder07 不同的公司,同樣的Bug 創(chuàng)建更好的解決方案 2010-02-03 12:06
            @clear
            2*1024*1024*1024,距離32位溢出,還有50步呢
            re: Visual Studio VS C++Builder07 不同的公司,同樣的Bug 創(chuàng)建更好的解決方案 2010-02-02 20:21
            // 更為離譜的事情發(fā)生了,同為10*1024*1024的兩個數(shù)值,由于一個是成員變量,一個是臨時變量,右移之后結(jié)果居然不同

            DWORD64 dw64Tmp = m_dw64FileSize;
            UINT dwTmp2 = (m_dw64FileSize>>32); // 還是10*1024*1024
            UINT dwTmp1 = (dw64Tmp>>32); // 0
            re: hello,everyone 創(chuàng)建更好的解決方案 2009-06-19 09:22
            處女地,哦耶~~
            re: 一年過去了... 創(chuàng)建更好的解決方案 2009-05-25 10:10
            都是這么過來的

            很快你就會發(fā)現(xiàn)更好玩的東西,enjoy~~
            re: 獲取版本信息Version的完整代碼(從msdn擴展而來) 創(chuàng)建更好的解決方案 2009-02-05 19:42
            // 這段代碼可以讀出多數(shù)exe文件的版本信息,無法讀取dll版本信息
            String GetVersionFromPath(String IDEPath)
            {
            DWORD dwLen = 0;
            char* lpData = NULL;

            dwLen = GetFileVersionInfoSize(IDEPath.c_str(), 0);
            if (0 == dwLen)
            return String("");

            lpData =new char [dwLen+1];

            if(!GetFileVersionInfo(IDEPath.c_str(), 0, dwLen, lpData))
            {
            delete lpData;
            return String("");
            }

            LPVOID lpBuffer = NULL;
            UINT uLen = 0;

            BOOL bSuccess = VerQueryValue(lpData,
            TEXT("\\StringFileInfo\\040904b0\\FileVersion"), //0409英文,0804中文
            //04b0即1252,ANSI
            //可以從ResourceView中的Version中BlockHeader中看到
            //可以測試的屬性
            /*
            CompanyName
            FileDescription
            FileVersion
            InternalName
            LegalCopyright
            OriginalFilename
            ProductName
            ProductVersion
            Comments
            LegalTrademarks
            PrivateBuild
            SpecialBuild
            */
            &lpBuffer,
            &uLen);
            if (!bSuccess)
            {
            delete lpData;
            return String("");
            }
            String Ret = (char*)lpBuffer;
            // Ret.Replace(',', '.');
            // Ret.Replace(' ', '0');

            delete [] lpData;
            return Ret;
            }
            re: 初始化const, static, const static, static const成員變量 創(chuàng)建更好的解決方案 2009-01-12 08:02
            const + static 即使static成員函數(shù)也無法改變其值@到底
            @bob
            囧rz
            re: 數(shù)值轉(zhuǎn)換的想當(dāng)然 創(chuàng)建更好的解決方案 2008-08-18 11:08
            文中有誤:0.9999999999999996才會強轉(zhuǎn)出1來
            re: 關(guān)于實戰(zhàn)測試驅(qū)動開發(fā)的一點感想。 創(chuàng)建更好的解決方案 2008-03-18 18:02
            通過添加DLL/源碼測試開關(guān),開發(fā)人員和測試人員共用一套測試代碼,開始走上靠譜的道路。@創(chuàng)建更好的解決方案
            re: 關(guān)于實戰(zhàn)測試驅(qū)動開發(fā)的一點感想。 創(chuàng)建更好的解決方案 2008-03-11 14:19
            我的想法是由開發(fā)組提供模塊代碼的.obj文件和測試用例的源文件,這樣測試人員可以隨時構(gòu)建出自己需要運行的版本,感覺上就像手里有模塊的源代碼一樣,只是不能進去debug。

            這種設(shè)想有點問題。

            首先obj文件沒用,因為測試用例的源文件包含了接口文件和實現(xiàn)文件的頭文件,hoho,更改之后的compile會把大家都牽扯進來。

            修改一下:通過dunit框架load dll并導(dǎo)出對象,供測試組調(diào)試測試用例之用。這樣的測試用例不僅可以用來測試dll,也可以用來做單元測試。
            re: 關(guān)于實戰(zhàn)測試驅(qū)動開發(fā)的一點感想。 創(chuàng)建更好的解決方案 2008-03-07 10:51
            是啊,通過半個月的溝通,在測試組碼了兩個人,負(fù)責(zé)完善測試用例的,我先趟趟水,隨時交流進展。@LOGOS
            re: 關(guān)于實戰(zhàn)測試驅(qū)動開發(fā)的一點感想。 創(chuàng)建更好的解決方案 2008-03-06 17:47
            大家處境都差不多,探索出一條好的工作流程,可以添加測試用例不再那樣痛苦,才是解決的辦法。靠一己之力,過于綿薄了吧。@LOGOS
            @火夜風(fēng)舞
            本文是讀書筆記,心得,非譯文。
            多交流,多讀書,測試+重構(gòu),此為程序員修煉之道,呵呵。
            @土仔
            這位兄臺誤會了,cnpack的是IDE專家,接口的命名,IDE專家?guī)筒簧厦Α?/div>
            re: 讀《修改代碼的藝術(shù)》 創(chuàng)建更好的解決方案 2008-02-26 08:29
            @turingbook
            原來是劉主編,久仰久仰。
            從卓越抓了一本,果然質(zhì)地優(yōu)良。
            小弟讀書時也曾為電子工業(yè)出版社譯過一本大部頭的國外教材。
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-22 17:33
            @abettor
            割了吧,都燒焦了。
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-22 17:29
            @歲月流冰
            呵呵,8k行是不是太重量了些。
            我看到2k行以上的代碼都會心有戚戚焉。
            所以都控制在2k以內(nèi)吧(或許我們的項目規(guī)模就不夠大吧)。
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-15 22:01
            @菌子
            那要看你對代碼的要求了。
            代碼能工作,沒錯。
            但是這是基本的要求,可擴展性、可移植性、可測試性也要考慮啊。
            這些指標(biāo)在團隊中尤為重要。
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-15 08:01
            @菌子
            好的模塊你動它干嘛?
            有臭味的模塊,不動,留它干嘛?
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-14 12:17
            @&lt;a href=http://minidx.com&gt;minidxer&lt;/a&gt;
            你可是我見過的最細(xì)心的管理員啊,呵呵
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-14 08:33
            @小笨象
            我剛工作半年多點,代碼寫的少了一些。到了10萬行的時候,或許會提高一下層次。
            re: 我和充斥臭味代碼的戰(zhàn)爭 創(chuàng)建更好的解決方案 2008-01-14 08:31
            @LOGOS
            書中講的大都是以有測試的系統(tǒng)為前提,但是以前老前輩們寫的程序,連注釋都少的可憐,基本上不考慮封裝,改起來真是痛苦啊!

            re: 舊語 創(chuàng)建更好的解決方案 2007-12-22 16:44
            歐陽:你幸福是因為你愚昧。
            re: sony筆試題-3 費波那其數(shù)列 創(chuàng)建更好的解決方案 2007-10-31 13:15
            @張旋
            呵呵,現(xiàn)在改用vector了,比指針安全,清理起來還方便,你說呢,呵呵
            re: GOOGLE筆試題之找零錢 創(chuàng)建更好的解決方案 2007-10-12 16:20
            http://blog.csdn.net/paradise80/archive/2004/12/05/205519.aspx
            田東專欄修改后的C#代碼

            using System;
            using System.Collections.Generic;
            using System.Linq;
            using System.Text;

            namespace Implememtations
            {
            /// <summary>
            /// Calculates the minimum count of change.
            /// </summary>
            public class MoneyChanger
            {
            /// <summary>
            /// Initializes an instance of <c>MoneyChange</c> with par values.
            /// </summary>
            /// <param name="parValues">Par values(e.g 10, 5, 2, 1 for RMB).</param>
            public MoneyChanger(int[] parValues)
            {
            if (parValues == null)
            {
            throw new ArgumentNullException("parValues");
            }

            this.parValues = this.FilterParValues(parValues);

            if (this.parValues.Count == 0)
            {
            throw new ArgumentException("Invalid par values");
            }
            }

            /// <summary>
            /// Gets change with minimum count of par values.
            /// </summary>
            /// <param name="amount">Total amount to be changed.</param>
            /// <returns>(parValue, count) pairs.</returns>
            public virtual Dictionary<int, int> Change(int amount)
            {
            Dictionary<int, int> result = new Dictionary<int, int>(this.parValues.Count);

            foreach (int par in this.parValues)
            {
            result.Add(par, amount / par);
            amount %= par;
            }

            return result;
            }

            #region Fields

            /// <summary>
            /// Stores par values.
            /// </summary>
            private List<int> parValues;

            #endregion Fields

            #region Supports Methods

            /// <summary>
            /// Filters par values with following rules:
            /// 1. All values are greater then zero.
            /// 2. All have different value.
            /// 3. Sorted in descending order.
            /// </summary>
            /// <param name="parValues">Array of par values.</param>
            /// <returns>Filtered par values.</returns>
            private List<int> FilterParValues(int[] parValues)
            {
            List<int> temp = new List<int>(parValues.Length);
            List<int> list = new List<int>(parValues.Length);

            // Filters positive integers.
            foreach (int par in parValues)
            {
            if (par > 0)
            {
            temp.Add(par);
            }
            }

            // Sorts values.
            temp.Sort();

            // Adds to list in descending order.
            for (int i = temp.Count - 1; i >= 0; i--)
            {
            if (list.Count > 0)
            {
            // Ingores the duplicate value.
            if (temp[i] == list[list.Count - 1])
            {
            continue;
            }
            }

            list.Add(temp[i]);
            }

            return list;
            }

            #endregion Supports Methods
            }
            }
            re: UI美學(xué) 創(chuàng)建更好的解決方案 2007-10-12 16:05
            我們常常挖空心思編寫代碼,期待給用戶驚喜

            對的,常常的,用戶也能從其中收獲驚喜

            更常見的情況是,用戶很難fall in love with software at first glance

            難以上手的軟件,功能再強大,也是Unfriendly的

            是不符合UI美學(xué)的
            国产精品亚洲美女久久久| 久久国产劲爆AV内射—百度| av无码久久久久久不卡网站| 久久99精品国产麻豆宅宅| 精品久久久久久国产免费了| 亚洲伊人久久成综合人影院| 奇米影视7777久久精品| 国产精品欧美亚洲韩国日本久久| 久久婷婷色香五月综合激情| 少妇精品久久久一区二区三区| 久久综合丝袜日本网| 亚洲精品乱码久久久久久自慰| 狠狠色噜噜狠狠狠狠狠色综合久久 | 国内精品久久久久久久coent| 久久亚洲精品成人AV| 久久精品99无色码中文字幕| 人妻无码精品久久亚瑟影视 | 俺来也俺去啦久久综合网| 色99久久久久高潮综合影院| 色综合久久久久综合体桃花网| 国产成人综合久久久久久| 99精品国产综合久久久久五月天| 久久精品成人欧美大片| 国产一级持黄大片99久久| 7777精品伊人久久久大香线蕉| 色综合久久久久网| 国产精品毛片久久久久久久| 日本欧美久久久久免费播放网| 一本久道久久综合狠狠躁AV| 久久久久综合国产欧美一区二区| 久久综合久久综合久久| 99久久国语露脸精品国产| 久久久久久久亚洲Av无码| 亚洲综合伊人久久大杳蕉| 2021国产精品久久精品| 久久亚洲国产最新网站| 久久99这里只有精品国产| 久久天天婷婷五月俺也去| 亚洲婷婷国产精品电影人久久| 人妻中文久久久久| 久久人妻AV中文字幕|