狂奔 lion

          自強(qiáng)不息

          關(guān)于敏捷開發(fā)的疑問

          學(xué)習(xí)了很多人捧為經(jīng)典的ppp之后,我開始考慮在所參與的團(tuán)隊中采用敏捷開發(fā)的方式,除了結(jié)對編程,基本采用XP編程的方式。跌代計劃,TDD,重構(gòu),積極溝通。然而在此過程中卻遇到很多尷尬的問題,一個是團(tuán)隊中的人員經(jīng)常流動,導(dǎo)致剛剛熟悉的開發(fā)環(huán)境,又要找新人代替;一個是團(tuán)隊中的成員水平參差不齊,難以達(dá)成一致的良好設(shè)計規(guī)范,也許又是不得不做一些硬性的規(guī)定。
          這里最大的問題是:XP強(qiáng)調(diào)代碼即設(shè)計,那就要求每個人都對代碼的編寫非常熟練,對團(tuán)隊中每個成員的編程水平要求很高,然而這和相對較少的項目經(jīng)費(fèi),及短暫的項目周期難以協(xié)調(diào)。
          更為可怕的是,項目中的人員職責(zé)不明,沒有明確的負(fù)責(zé)人,而由沒有軟件開發(fā)和管理經(jīng)驗的人主導(dǎo)。

          posted @ 2006-08-17 12:43 楊一 閱讀(258) | 評論 (0)編輯 收藏

          如何應(yīng)用Hibernate在運(yùn)行期獲取屬性的值

          Hibernate根據(jù)配置文件從數(shù)據(jù)庫中把關(guān)系型的數(shù)據(jù)以對象的形式挖掘出來,那么假如我有一個Table控件,可以放置展現(xiàn)任何的表結(jié)構(gòu),如何在運(yùn)行期做到把數(shù)據(jù)載入呢?Hibernate已經(jīng)把數(shù)據(jù)讀成對象的形式,就注定沒有JDBC一般靈活,為次可以通過編寫如下的兩個工具方法來實現(xiàn):
          import java.lang.reflect.Method;

          /**
           * 獲取指定bean的指定字段的值
           
          */
          public class BeanUtils {
              
          private BeanUtils(){}
              
              
          /**
               * 根據(jù)beanName和列名字獲取hql語句
               * 
          @param beanName
               * 
          @param columnNames
               * 
          @return 以list形式返回數(shù)據(jù)的hql語句
               
          */
              
          public static String getHql(String beanName, String[] columnNames){
                  StringBuffer sb 
          = new StringBuffer();
                  sb.append(
          "select new list(");
                  StringBuffer columnString 
          = new StringBuffer();
                  
          for(int i=0,len=columnNames.length;i<len;i++){
                      columnString.append(
          ",");
                      columnString.append(columnNames[i]);
                  }
                  sb.append(columnString.substring(
          1));
                  sb.append(
          ") from ");
                  
          if(Character.isUpperCase(beanName.charAt(0)))
                      sb.append(beanName);
                  
          else
                      sb.append(upperFirstChar(beanName));
                  
          return sb.toString();
              }
              
          /**
               * 
          @param bean 獲取到的域?qū)ο?br />      * @param fieldName 欲獲取值的字段名
               * 
          @return 字段在當(dāng)前bean封裝下的值
               
          */
              
          public static Object getFieldByName(Object bean, String fieldName){
                  
          try {
                      Method m 
          = bean.getClass().getMethod("get"+upperFirstChar(fieldName), null);
                      
          return m.invoke(bean, null);
                  } 
          catch (Exception e) {
                      e.printStackTrace();
                  }
                  
          return null;
              }
              
          private static String upperFirstChar(String orig){
                  
          return Character.toUpperCase(orig.charAt(0)) + orig.substring(1);
              }
          }
          按照已經(jīng)處理后,我們就可以既應(yīng)用Hibernate對象訪問的優(yōu)點(diǎn),又不損失字符串的靈活性,代碼中應(yīng)用了Hibernate的select特性及java的反射機(jī)制

          posted @ 2006-08-04 13:39 楊一 閱讀(515) | 評論 (0)編輯 收藏

          Google建立與sourceforge, java.net匹敵的開源資源庫

          Google 為開源項目建立起了資源庫. 這個google站點(diǎn)是google為推動開源發(fā)展做的又一努力!

          Google在FAQ上說道, Google意識到對開源項目開發(fā)者而言,有多種的選擇未嘗不是一件好事。 這個開源資源庫強(qiáng)調(diào)軟件資源的儲存,郵件列表討論和bug追蹤.

          需要說明的是google資源對選擇了具備一定的合適許可證的知名項目(比如sourceforge上的項目來提供下載)。站點(diǎn)采用SVN進(jìn)行管理。

          您對google的新舉動有何高見呢?

          posted @ 2006-08-03 15:05 楊一 閱讀(626) | 評論 (1)編輯 收藏

          Apache commons-Email中文問題的解決辦法

          Apache commons-email是對javamailAPI的一層封裝,經(jīng)封裝后的發(fā)送郵件的代碼變得極為簡單,但這里有一個中文支持的小問題。
          commons-email主要的封裝類是Email類,這是一個抽象類,該框架給出了SimpleEmail的默認(rèn)實現(xiàn),但該實現(xiàn)并不支持中文,即使調(diào)用Email的setCharset也不起作用。
          事實上,SimpleEmail調(diào)用了Email超類中的setContent方法來設(shè)置郵件內(nèi)容(通過setMsg方法),而在設(shè)置內(nèi)容時,又采用了默認(rèn)的英文字符集,我們只要在代碼中直接調(diào)用email類的setContent方法就可以支持中文了,但要注意setContent具備兩個參數(shù),第一個是內(nèi)容對象,第二個則是內(nèi)容類型,我們把第二個參數(shù)設(shè)置為:
          SimpleEmail.TEXT_PLAIN + "; charset=utf-8", 即可。理由如下面源代碼所示:
              public void setContent(Object aObject, String aContentType)
              {
                    ......
                      // set the charset if the input was properly formed
                      String strMarker = "; charset=";
                      int charsetPos = aContentType.toLowerCase().indexOf(strMarker);

                      if (charsetPos != -1)
                      {
                          // find the next space (after the marker)
                          charsetPos += strMarker.length();
                          int intCharsetEnd =
                              aContentType.toLowerCase().indexOf(" ", charsetPos);

                          if (intCharsetEnd != -1)
                          {
                              this.charset =
                                  aContentType.substring(charsetPos, intCharsetEnd);
                          }
                          else
                          {
                              this.charset = aContentType.substring(charsetPos);
                          }
                      }
                  }
              }
              即有一個文本解析的過程。

          posted @ 2006-08-01 20:14 楊一 閱讀(995) | 評論 (2)編輯 收藏

          關(guān)于eclipse插件配置

              eclipse很麻煩的一點(diǎn)就是eclipse的頻繁升級+IT技術(shù)人員追求最先進(jìn)的技術(shù)+eclipse平臺對插件不保證向下兼容,先在eclipse的官方網(wǎng)站http://www.eclipse.org提供了一個一站式服務(wù)的好辦法,就是Callisto,這里面集成了圖形設(shè)計器,WTP等大多數(shù)能想象到的功能,免去了我們諸多麻煩.3.2以后的eclipse必將更加美好!


          posted @ 2006-07-11 20:00 楊一 閱讀(437) | 評論 (2)編輯 收藏

          僅列出標(biāo)題
          共6頁: 上一頁 1 2 3 4 5 6 
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          公告

          本人在blogjava上發(fā)表的文章及隨筆除特別聲明外均為原創(chuàng)或翻譯,作品受知識產(chǎn)權(quán)法保護(hù)并被授權(quán)遵從 知識分享協(xié)議:署名-非商業(yè)性使用-相同方式共享 歡迎轉(zhuǎn)載,請在轉(zhuǎn)載時注明作者姓名(楊一)及出處(www.aygfsteel.com/yangyi)
          /////////////////////////////////////////
          我的訪問者

          常用鏈接

          留言簿(5)

          隨筆分類(55)

          隨筆檔案(55)

          相冊

          Java

          其他技術(shù)

          生活

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          自強(qiáng)不息


          用心 - 珍惜時間,勇于創(chuàng)造
          主站蜘蛛池模板: 康平县| 宜州市| 裕民县| 随州市| 历史| 呈贡县| 乌审旗| 宁晋县| 汽车| 霍林郭勒市| 耿马| 云安县| 台中市| 阿拉善左旗| 镇巴县| 措美县| 察隅县| 额尔古纳市| 永新县| 昆山市| 宝丰县| 石首市| 大渡口区| 苍溪县| 定南县| 积石山| 兴文县| 扎赉特旗| 兴安盟| 嘉鱼县| 阳曲县| 衡南县| 永和县| 常宁市| 巴里| 庆安县| 吉首市| 股票| 寻乌县| 平度市| 甘孜县|