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

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

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

    posts - 5,  comments - 3,  trackbacks - 0
      2006年1月12日
    最近一直在忙于寫代碼,因?yàn)榇汗?jié)前必須提交用戶.所以每天便是瘋狂的敲擊鍵盤,為了趕進(jìn)度,為了按時(shí)完成任務(wù).這幾天做的差不多了,也開(kāi)始考慮自己的個(gè)人發(fā)展問(wèn)題.很快就30的人了,雖然還是喜歡寫代碼、喜歡調(diào)試程序、喜歡面對(duì)各種有意思的問(wèn)題、喜歡鉆研技術(shù),但年齡還是把我推向了一個(gè)該好好考慮自己的個(gè)人定位的時(shí)間,因?yàn)樵谥袊?guó)30歲應(yīng)該是程序員的墳?zāi)沽恕=Y(jié)束編碼生活,開(kāi)始一個(gè)全新的開(kāi)始,但應(yīng)該開(kāi)始什么呢?我自己也不知道,這么多年的編程,讓我除了編程還能干什么呢?現(xiàn)在可以想到的就是系統(tǒng)分析、或者再鉆研一下業(yè)務(wù),去搞需求,或者就是告別這個(gè)行業(yè),進(jìn)行一種全新的創(chuàng)業(yè),但項(xiàng)目是什么?頭疼呀,但卻不得不頭疼。三十而立,馬上就三十,可是三十我將要一無(wú)所有,想想畢業(yè)時(shí)一心想搞開(kāi)發(fā),現(xiàn)在呢,說(shuō)不清當(dāng)時(shí)的決定是對(duì)還是錯(cuò)?????
    posted @ 2006-01-12 11:40 SongOfSky 閱讀(158) | 評(píng)論 (0)編輯 收藏
      2005年11月18日
    mysql的jdbc驅(qū)動(dòng)的問(wèn)題,到http://downloads.mysql.com/snapshots.php下載了mysql- connector-java-3.1-nightly-20051118.zip或mysql-connector-java-5.0-nightly -20051118.zip都可以解決
    posted @ 2005-11-18 10:33 SongOfSky 閱讀(345) | 評(píng)論 (0)編輯 收藏
      2005年11月7日
    看了好幾天的IOC,今天才算看明白,實(shí)際上使用的就是一個(gè)很簡(jiǎn)單的面相對(duì)象的理解,就是子類可以替換父類原則,使用一個(gè)類盡量要使用抽象的父類(抽象類和接口),需要具體實(shí)現(xiàn)的時(shí)候,用具體子類進(jìn)行替換.替換的方式包括構(gòu)造注射、值注射和接口注射。
    構(gòu)造注射:在使用類的構(gòu)造方法中,通過(guò)參數(shù),將使用類作為參數(shù)(抽象類)
    值注射:可以理解為一個(gè)屬性,通過(guò)set方法進(jìn)行設(shè)置(參數(shù)當(dāng)然還是抽象類)
    接口注射:沒(méi)太仔細(xì)看,好像是在使用者和被使用者之間添加了一個(gè)中介
    總之所謂的注射也就是一種解耦的辦法罷了。
    posted @ 2005-11-07 09:57 SongOfSky 閱讀(382) | 評(píng)論 (1)編輯 收藏
      2005年10月28日
    最近兩周一直在忙于重構(gòu)以前的一段代碼。代碼是一個(gè)很復(fù)雜的算法,總共有4個(gè)主要的方法,代碼行數(shù)之和大概有4千多行。這個(gè)算法以前不是我寫的是一位已經(jīng)離職人員的大作,剛開(kāi)始接受的時(shí)候我看的頭都大了。現(xiàn)在想想造成這種情況主要原因主要有:
    1 因?yàn)檫@是一個(gè)很復(fù)雜的算法,需求文檔寫的也不是很詳細(xì),導(dǎo)致理解起來(lái)很費(fèi)力,最后是通過(guò)不斷和測(cè)試人員不斷交流,才了解了整個(gè)算法的大概。
    2 看代碼最可怕的事情是什么?結(jié)構(gòu)不好、變量命名不規(guī)則、實(shí)現(xiàn)思路不符合常規(guī)。都不是,最可怕的是沒(méi)有注釋,我所要面對(duì)的是我可以自由發(fā)揮想象的代碼,可是 一個(gè)算法不是我可以隨意定的。剛接手代碼時(shí)的主要工作就是,給代碼添加注釋,一邊看一邊補(bǔ)注釋,最后可能達(dá)到每5行代碼就可能有一行注釋,就這樣才把代碼 的實(shí)現(xiàn)絲路搞得差不多了。
    3 方法過(guò)長(zhǎng) 4個(gè)方法,4千多行代碼,平均每個(gè)1千行,但最大的那個(gè)方法有2千多行,看著無(wú)注釋的兩千行代碼,我暈。
    4 重復(fù)功能的代碼 接受別人的代碼,如果感覺(jué)是重復(fù)的代碼,自己也不敢給立刻改造,需要把兩段代碼仔細(xì)的比較,生怕有紕漏,導(dǎo)致一些更可怕的問(wèn)題,畢竟當(dāng)時(shí)對(duì)代碼和算法不熟悉
    5 龐大的if else、for while 循環(huán),看代碼的時(shí)候需要對(duì)那些{},眼暈,代碼太長(zhǎng)了,如果你想了解一段代碼的功能,難了。
    6 數(shù)據(jù)類的命名 那位老兄懶點(diǎn),有些后來(lái)添加的屬性,他懶得添加代碼,就用原來(lái)的方法,看看代碼就給帶溝里去了。
    7 很多無(wú)用的變量充斥其中,讓你四處查找該變量在哪用的,最后發(fā)現(xiàn),沒(méi)用,氣瘋了

        痛苦的經(jīng)歷,當(dāng)時(shí)看這些代碼辭職的心都有,型號(hào)當(dāng)時(shí)在外面做項(xiàng)目,可以慢慢的消化,如果在公司,問(wèn)題日清,恐怕我也要被清理走了。
    下面說(shuō)說(shuō)我重構(gòu)的過(guò)程,主要是針對(duì)上面提到的幾點(diǎn):
    1 不用說(shuō)了,理解算法,才能作出正確的實(shí)現(xiàn),也才能保證修改的代碼減少出錯(cuò)的機(jī)率。
    2 注釋以前添加了很多,現(xiàn)在在回頭再仔細(xì)看,當(dāng)時(shí)有些理解是不正確的,修正那些注釋,同時(shí)把自己最新的理解添加到程序上。添加注釋時(shí)對(duì)于實(shí)現(xiàn)長(zhǎng)點(diǎn)的代碼可以 用一些特殊的符號(hào) 象#$等一些特殊的符號(hào)分隔開(kāi),注釋里說(shuō)明這段代碼實(shí)現(xiàn)的功能,同時(shí)在開(kāi)始和結(jié)束的注釋上 添加一個(gè)簡(jiǎn)單的start、end,看起來(lái)舒服多了
    3 方法過(guò)大,沒(méi)有其他的解決辦法,拆方法,但拆方法的時(shí)候要考慮變量的作用域,盡量確保一個(gè)變量的作用域在一個(gè)方法中,這樣可以減少代碼的出錯(cuò)的可能性,是在不行的就通過(guò)返回?cái)?shù)據(jù)的方式,給變量重新賦值
    4 對(duì)于重復(fù)的代碼,沒(méi)其他的辦法,抽象出一個(gè)新的方法,讓后在主方法中調(diào)用。但這種修改可能會(huì)造成一個(gè)不太好的現(xiàn)象,就是代碼調(diào)用層次太多,調(diào)試起來(lái)也很麻煩,這問(wèn)題只能等以后在做大的重構(gòu)的時(shí)候,對(duì)實(shí)現(xiàn)思路的重構(gòu)了
    5 對(duì)于if else ,或者循環(huán),看看是否可以通過(guò)continue、break 來(lái)減少嵌套層次
    6 數(shù)據(jù)命名,這是每個(gè)程序員進(jìn)入新公司的必修課,如果沒(méi)人管,那只能說(shuō)管理有問(wèn)題。可以通過(guò)一些重構(gòu)工具來(lái)修改變量、方法的名稱、相應(yīng)的工具會(huì)修改引用的名稱,減少出錯(cuò)的可能性
    7 多余變量已經(jīng)要堅(jiān)決刪除,不是考慮什么效率問(wèn)題,知識(shí)考慮代碼的可讀性。現(xiàn)在地很多開(kāi)發(fā)工具可以表示出沒(méi)有引用的變量,刪除、重新編譯看看有沒(méi)有引起相關(guān)的錯(cuò)誤

    本來(lái)前些時(shí)剛看完設(shè)計(jì)模式,想用用呢,因?yàn)樗惴ㄖ杏泻芏嘞鄬?duì)的算法可以通過(guò)策略模式解決,可是最后犯懶,以后再說(shuō)吧。
    一點(diǎn)感受,希望能和大家交流:)
    posted @ 2005-10-28 09:54 SongOfSky 閱讀(328) | 評(píng)論 (0)編輯 收藏
      2005年10月20日
    這幾天想用java做一個(gè)數(shù)據(jù)窗口,就是一個(gè)和PB中相同的數(shù)據(jù)窗口,以實(shí)現(xiàn)快速開(kāi)發(fā)。但有一個(gè)問(wèn)題我卻不知道怎么該怎么辦,就是如果用view驅(qū)動(dòng) model對(duì)于表格的編程應(yīng)該簡(jiǎn)單一些,但在.net中發(fā)現(xiàn)是在用model驅(qū)動(dòng)view,對(duì)于表格的操作鎖的很死,連基本的添行刪行都不能控制,微軟這 么設(shè)計(jì)肯定有他的道理,但編程中確實(shí)有很多問(wèn)題不好處理,所以現(xiàn)在郁悶中!!!!
    posted @ 2005-10-20 15:19 SongOfSky 閱讀(436) | 評(píng)論 (2)編輯 收藏
    僅列出標(biāo)題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲Aⅴ无码专区在线观看q| 亚洲动漫精品无码av天堂| 亚洲国产精品狼友中文久久久| 亚洲人成无码www久久久| 久久亚洲精品中文字幕无码 | 四虎影视在线永久免费看黄| 亚洲精品成人久久久| 久久亚洲精品无码| 亚洲国产日韩综合久久精品| 曰批全过程免费视频免费看| 久久国产精品免费视频| 处破痛哭A√18成年片免费| 国产亚洲精品AA片在线观看不加载| 亚洲短视频男人的影院| 亚洲熟妇AV日韩熟妇在线| 国产福利在线观看永久免费| 91香蕉国产线在线观看免费| 蜜臀91精品国产免费观看| 亚洲精品国产成人片| 在线综合亚洲欧洲综合网站| 国产高潮久久免费观看| 成人免费激情视频| 浮力影院亚洲国产第一页| 久久精品国产亚洲av麻豆图片| 伊人久久国产免费观看视频| 国产h肉在线视频免费观看| 亚洲国产精品一区二区第一页免| 久久狠狠高潮亚洲精品| 免费一区二区无码视频在线播放| 日韩精品人妻系列无码专区免费 | 最近高清中文字幕免费| 免费国产真实迷j在线观看| 亚洲一区中文字幕久久| 青青免费在线视频| 在线看片v免费观看视频777| 亚洲一区二区三区在线播放| 亚洲高清中文字幕免费| 成人久久免费网站| 免费国产精品视频| 亚洲sss综合天堂久久久| 国产午夜成人免费看片无遮挡 |