<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java, Only Java!

    統(tǒng)計(jì)

    留言簿(20)

    積分與排名

    好友空間

    文檔技巧

    閱讀排行榜

    評(píng)論排行榜

    小小軟件工程

    最近應(yīng)朋友的需要,幫忙寫(xiě)了個(gè)日常賬本管理的小程序,并且在寫(xiě)程序過(guò)程中有了點(diǎn)心得,心得很雜亂,涉及到軟件開(kāi)發(fā)的不同方面,因此統(tǒng)一稱之為“小小軟件工程”。

    ● 電腦不是萬(wàn)能的。
    無(wú)論是客戶還是工程師都覺(jué)得計(jì)算機(jī)可以幫助人做許多事情,對(duì)應(yīng)用程序有著“不切實(shí)際”的期望,希望程序要簡(jiǎn)單好用、同時(shí)又是準(zhǔn)確無(wú)錯(cuò)、及時(shí)響應(yīng)使用者需求等等,在這樣的目標(biāo)驅(qū)動(dòng)下結(jié)果往往是程序一點(diǎn)都不好用(有的時(shí)候覺(jué)得還沒(méi)人來(lái)得簡(jiǎn)單),大部分時(shí)候不出錯(cuò)(但不是100%,還是有時(shí)候會(huì)出錯(cuò),并且不知道什么時(shí)候發(fā)生,錯(cuò)在哪里),程序反應(yīng)越來(lái)越慢(不知道電腦到底是節(jié)約時(shí)間,還是在浪費(fèi)生命…)。
    其實(shí),計(jì)算機(jī)就如其他工具一樣只是幫助人延伸自己的能力,只是他們更加像人,因?yàn)樗麄冇泻軓?qiáng)的計(jì)算能力。人因?yàn)槭苌锕δ艿南拗?,管理百條、千條數(shù)據(jù)、計(jì)算幾千、幾萬(wàn)都還可以應(yīng)對(duì),但是信息爆炸造成數(shù)據(jù)量越來(lái)越大,人們關(guān)注的事情越來(lái)越精細(xì),因此通過(guò)計(jì)算機(jī)可以幫助人面對(duì)更大的計(jì)算量,管理更多的數(shù)據(jù)。但是計(jì)算機(jī)本身也受自身?xiàng)l件的限制,并不能解決所有的問(wèn)題,作為工程師一定要去了解電腦與人之間的差異,哪些是人可以做的,哪些是計(jì)算機(jī)可以做的,這樣子寫(xiě)程序時(shí)才不會(huì)陷入程序過(guò)度復(fù)雜的問(wèn)題

    ● 程序不是用來(lái)簡(jiǎn)化人的工作的。
    這個(gè)想法肯定與許多人的觀點(diǎn)有沖突,想法來(lái)源于老婆(計(jì)算機(jī)人士)建議我把使用界面優(yōu)化一下,使得最終使用者用起來(lái)更加方便,最后被我否決了。原因是這里的一個(gè)功能的優(yōu)化可能要寫(xiě)幾十行代碼,而使用者(只有一個(gè))只在輸入過(guò)程中使用一次,而幾十行代碼還會(huì)給我的程序本身增加復(fù)雜性,而使用者完全可以人為調(diào)整一下就能很好的適應(yīng)。
    其實(shí),這里也是個(gè)投入產(chǎn)出比的問(wèn)題,這里的優(yōu)化對(duì)于使用者來(lái)說(shuō)價(jià)值不大,而應(yīng)用的首要目標(biāo)是快速交付,因此所有的優(yōu)化工作我只選擇了為增強(qiáng)數(shù)據(jù)正確性而做的一些優(yōu)化,其他使用中不適的地方全部請(qǐng)人來(lái)適應(yīng)計(jì)算機(jī)。
    聽(tīng)起來(lái),我做的事情不符合以往的思維,但是這個(gè)想法與上個(gè)想法一樣都認(rèn)為電腦的根本作用是幫助人解決人所不能做的事情,而不是一味的去解決人已經(jīng)擅長(zhǎng)的事情,比如說(shuō):讓程序提供各種功能去支持與未來(lái)的兼容,因?yàn)槿吮入娔X更能適應(yīng)變化,著眼于現(xiàn)在才是程序開(kāi)發(fā)的根本。
    于是,一周以內(nèi)我就交付了程序,并且將對(duì)方大部分需求都給予了否決,只提供了最基本的功能就是原始數(shù)據(jù)的輸入和明細(xì)表輸出,并建議對(duì)方在使用過(guò)程中思考一下還需要哪些功能,當(dāng)使用者對(duì)這些需求有了足夠的認(rèn)識(shí),并且現(xiàn)有的數(shù)據(jù)使用者已經(jīng)無(wú)法手工處理時(shí),我再為之提供新的功能,降低了開(kāi)發(fā)成本,同時(shí)也降低了使用成本,因?yàn)槲宜械臄?shù)據(jù)全部是開(kāi)放的,如果他需要修改直接在數(shù)據(jù)上就可以完成。
    在開(kāi)發(fā)過(guò)程中,我也受到了更好用的誘惑,因?yàn)橛袛?shù)據(jù)就很容易想到用數(shù)據(jù)庫(kù)來(lái)做,這樣子操作數(shù)據(jù)會(huì)覺(jué)得更加容易,但是后來(lái)還是只用Excel就實(shí)現(xiàn)了,根本原因是使用者對(duì)計(jì)算機(jī)非常不熟悉,也就是對(duì)Excel有所了解,如果我更換了使用習(xí)慣以后,光學(xué)習(xí)新的東西就會(huì)給使用者帶來(lái)成本,學(xué)習(xí)新的工具也會(huì)增加錯(cuò)誤的機(jī)率,如果為了保證數(shù)據(jù)準(zhǔn)確性又會(huì)增加開(kāi)發(fā)的工作量,因此我放棄了數(shù)據(jù)庫(kù)的誘惑,仍然使用Excel保證了功能簡(jiǎn)單,數(shù)據(jù)開(kāi)放。

    ● 需求采集時(shí)要將人的思維模式轉(zhuǎn)化成電腦的思維模式。
    需求采集是應(yīng)用成功的關(guān)鍵,但是客戶大都沿用傳統(tǒng)工作中的思維模式,必須通過(guò)交流轉(zhuǎn)換客戶傳統(tǒng)的思維模式,使之向計(jì)算機(jī)的方式靠攏。比如:這次的客戶他需要謄寫(xiě)原始賬到好幾個(gè)本子,于是他總覺(jué)得數(shù)據(jù)也需要在表單中重復(fù)錄入,因此我向他解釋計(jì)算機(jī)里面所有數(shù)據(jù)最好是統(tǒng)一出口,計(jì)算機(jī)復(fù)制生成這些數(shù)據(jù)都會(huì)非常簡(jiǎn)單。他理解了我的說(shuō)法,自然這個(gè)需求就不用投入開(kāi)發(fā)的精力了。

    ● 程序再好的靈活性也比不上人。
    這個(gè)問(wèn)題如前面所說(shuō)的,不要找計(jì)算機(jī)來(lái)代替人,如果人可以解決的問(wèn)題,千萬(wàn)別急著用計(jì)算機(jī)來(lái)實(shí)現(xiàn),成本高不說(shuō),可能投入產(chǎn)出比不值得才是根本。

    ● 代碼應(yīng)該通過(guò)重構(gòu)提升優(yōu)雅性和性能。
    不想考慮第一次代碼就寫(xiě)得多漂亮,要遵守多少嚴(yán)格的約定(當(dāng)然這不是說(shuō)沒(méi)有規(guī)范,重要的是規(guī)范應(yīng)該遵守最大公約數(shù),只有能夠?yàn)榇蠹覅f(xié)作帶來(lái)便利的規(guī)范才是必須的)。相反不斷的重構(gòu)才是代碼優(yōu)化的最佳辦法,重構(gòu)一定是為滿足更好的管理代碼而做的。

    posted on 2008-09-16 14:32 zYx.Tom 閱讀(196) 評(píng)論(0)  編輯  收藏 所屬分類: 6.我的感想

    主站蜘蛛池模板: 水蜜桃亚洲一二三四在线 | 中文字幕亚洲日韩无线码| 日本亚洲免费无线码| 思思re热免费精品视频66| 亚洲精品福利网站| av大片在线无码免费| 亚洲av日韩av综合| 在线观看AV片永久免费| 亚洲成a人片77777群色| 免费看黄视频网站| 精品国产日韩久久亚洲| 国产国产成年年人免费看片| 在线观看亚洲免费视频| 亚洲人成影院在线无码观看| 亚洲女同成av人片在线观看| 国产一二三四区乱码免费| 久久精品国产99精品国产亚洲性色| 最近2022中文字幕免费视频| 亚洲人成网站在线观看播放青青| 免费看美女被靠到爽| 亚洲久本草在线中文字幕| 亚洲精品国产免费| 亚洲春色在线视频| 国产2021精品视频免费播放| 亚洲色大成网站www尤物| 亚洲成A人片在线观看中文| 东北美女野外bbwbbw免费| 亚洲精品美女视频| 麻豆国产人免费人成免费视频| 日韩电影免费在线观看网址 | 午夜a级成人免费毛片| 免费看一级毛片在线观看精品视频| 亚洲精品国产精品乱码不卞 | 日韩精品亚洲专区在线观看| a级片在线免费看| 亚洲a级片在线观看| 亚洲高清免费视频| 成人福利免费视频| 一级看片免费视频| 亚洲国产夜色在线观看| mm1313亚洲精品国产|