yangxiang

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            8 隨筆 :: 0 文章 :: 73 評論 :: 0 Trackbacks

          2009年8月11日 #

          [英文出處]:21 Laws of Computer Programming
          [譯文出處]:外刊IT評論


          任何一個有經驗的程序員都知道,軟件開發遵循著一些不成文的法則。然而,如果你不遵循這些法則也并不意味著會受到懲罰;相反,有時你還會獲得意外的好處。下面的就是軟件編程中的21條法則:

          1. 任何程序一旦部署即顯陳舊。
          2. 修改需求規范來適應程序比反過來做更容易。
          3. 一個程序如果很有用,那它注定要被改掉。
          4. 一個程序如果沒用,那它一定會有很好的文檔。
          5. 任何程序里都僅僅只有10%的代碼會被執行到。
          6. 軟件會一直膨脹到耗盡所有資源為止。
          7. 任何一個有點價值的程序里都會有至少一個bug。
          8. 原型完美的程度跟審視的人數成反比,反比值會隨著涉及的資金數增大。
          9. 軟件直到被變成產品運行至少6個月后,它最嚴重的問題才會被發現。
          10. 無法檢測到的錯誤的形式無限多樣,而能被檢測到的正好相反,被定義了的十分有限。
          11. 修復一個錯誤所需要投入的努力會隨著時間成指數級增加。
          12. 軟件的復雜度會一直增加,直到超出維護這個程序的人的承受能力。
          13. 任何自己的程序,幾個月不看,形同其他人寫的。
          14. 任何一個小程序里面都有一個巨大的程序蠢蠢欲出。
          15. 編碼開始的越早,花費的時間越長。
          16. 一個粗心的項目計劃會讓你多花3倍的時間去完成;一個細心的項目計劃只會讓你多花2倍的時間。
          17. 往大型項目里添加人手會使項目更延遲。
          18. 一個程序至少會完成90%,但永遠完成不了超過95%。
          19. 如果你想麻煩被自動處理掉,你得到的是自動產生的麻煩。
          20. 開發一個傻瓜都會使用的軟件,只有傻瓜愿意使用它。
          21. 用戶不會真正的知道要在軟件里做些什么,除非使用過。
          posted @ 2010-09-30 09:50 『 Y X 』 閱讀(269) | 評論 (0)編輯 收藏

          Eclipse快捷鍵按了沒有反應可能是和其他程序設置的快捷鍵沖突了,如果確認沒有沖突,可以看看是不是如下問題。

          在工具欄(Toolbars)上面點擊右鍵,選擇“Customize Perspective...”

          看看Command Group Availability 里面有沒有勾選你所設置的快捷鍵的分組,如果沒有就勾上,再試試快捷鍵能否使用。


          posted @ 2010-08-24 09:55 『 Y X 』 閱讀(3442) | 評論 (0)編輯 收藏

              當為遺留系統加入spring時,經典問題就是遺留系統需要引用spring管理的bean。幸好spring有機制可以處理這些。

              建一個類實現ApplicationContextAware接口,有一個引用ApplicationContext的靜態成員,然后,遺留系統需要引用spring管理的bean的地方,使用這個類。

          1.比如:我這里建一個SpringContext類

          package net.blogjava.chenlb;

          import org.springframework.beans.BeansException;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.ApplicationContextAware;

          /**
           * 此類可以取得Spring的上下文.
           * Spring 使new方法創建的對象可以引用spring管理的 bean.
           * 2007-10-18 上午11:12:33
           * 
          @author chenlb
           
          */
          public class SpringContext implements ApplicationContextAware {

              
          protected static ApplicationContext context;
              
              
          public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
                  context 
          = applicationContext;
              }

              
          public static ApplicationContext getContext() {
                  
          return context;
              }
          }


          2.然后在spring配置文件里加

          <bean id="springContext" class="net.blogjava.chenlb.SpringContext"></bean>


          3.其它類中引用

          MyBean myBean = (MyBean) SpringContext.getContext().getBean("myBean");


          4.如果老是寫SpringContext.getContext().getBean("...");麻煩,可以建一個工廠類來返回你要 的bean

          package net.blogjava.chenlb;

          public class MyServerFactory {

              
          public static MyBean1 getMyBean1() {
                  
          return (MyBean1) SpringContext.getContext().getBean("myBean1");
              }
          }



          原文:http://chenlb.javaeye.com/blog/135897

          posted @ 2010-06-15 19:22 『 Y X 』 閱讀(318) | 評論 (0)編輯 收藏

          <%@ page import="org.springframework.web.context.support.WebApplicationContextUtils" %>
          <%@ page import="org.springframework.web.context.WebApplicationContext" %>
          <%
              WebApplicationContext context =    WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
              SomeBean bean=(SomeBean)context.getBean(SomeBean.class);
          %>

          posted @ 2010-06-15 19:18 『 Y X 』 閱讀(429) | 評論 (0)編輯 收藏

          1、xml.xml
          <?xml version="1.0" encoding="utf-8"?>
          <?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
          <book>
              
          <title>XML與JSP</title>
              
          <chapter>
                  
          <title>第1章 認識XML與DTD</title>
                  
          <section>
                      
          <title>XML的產生</title>
                      
          <example>HelloWorld.html</example>
                  
          </section>
              
          </chapter>
              
          <chapter>
                  
          <title>第2章 XML名稱空間</title>
                  
          <section>
                      
          <title>名稱空間在元素和屬性中的應用</title>
                      
          <section>
                          
          <title>名稱空間在元素中的應用</title>
                          
          <example>people.xml</example>
                      
          </section>
                      
          <section>
                          
          <title>缺省名稱空間</title>
                          
          <example>book.xml</example>
                      
          </section>
                      
          <section>
                          
          <title>名稱空間在屬性中的應用</title>
                          
          <example>book2.xml</example>
                      
          </section>
                  
          </section>
                  
          <section>
                      
          <title>名稱空間和DTD</title>
                  
          </section>
              
          </chapter>
          </book>

          2、xsl.xsl
          <?xml version="1.0"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
              
          <xsl:output method="html" version="1.0" encoding="utf-8" standalone="yes"/>
              
          <xsl:template match="/">
                  
          <html>
                      
          <head>
                          
          <title>使用XML+XSLT生成的HTML文件</title>
                      
          </head>
                      
          <body>
                          
          <xsl:apply-templates select="book"/>
                      
          </body>
                  
          </html>
              
          </xsl:template>
              
          <xsl:template match="chapter">
                  
          <br/>
                  
          <br/>
                  
          <xsl:value-of select="./title"/>
                  
          <xsl:apply-templates select="./section"/>
              
          </xsl:template>
              
          <xsl:template match="chapter/section">
                  
          <br/>
                  
          <br/>
                  
          <xsl:text>    </xsl:text>
                  
          <!--<xsl:number format="1. " level="multiple"/>-->
                  
          <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
                  
          <xsl:value-of select="./title"/>
                  
          <xsl:apply-templates select="./section"/>
              
          </xsl:template>
              
          <xsl:template match="chapter/section/section">
                  
          <br/>
                  
          <br/>
                  
          <xsl:text>        </xsl:text>
                  
          <!--<xsl:number format="1. " level="multiple"/>-->
                  
          <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
                  
          <xsl:value-of select="./title"/>
                  
          <xsl:number value="123456789" grouping-separator="," grouping-size="3"/>
              
          </xsl:template>
          </xsl:stylesheet>

          3、java.java
          package test;

          import java.io.File;
          import java.io.IOException;

          import javax.xml.transform.Result;
          import javax.xml.transform.Source;
          import javax.xml.transform.Transformer;
          import javax.xml.transform.TransformerConfigurationException;
          import javax.xml.transform.TransformerException;
          import javax.xml.transform.TransformerFactory;
          import javax.xml.transform.stream.StreamResult;
          import javax.xml.transform.stream.StreamSource;

          import org.junit.Test;

          public class Train {
              @Test
              
          public void test() throws IOException {
                  String xmlFileName 
          = "d:/test/xml.xml";
                  String xslFileName 
          = "d:/test/xsl.xsl";
                  String htmlFileName 
          = "d:/test/html.html";
                  Train.Transform(xmlFileName, xslFileName, htmlFileName);
              }

              
          public static void Transform(String xmlFileName, String xslFileName,
                      String htmlFileName) {
                  
          try {
                      TransformerFactory tFac 
          = TransformerFactory.newInstance();
                      Source xslSource 
          = new StreamSource(xslFileName);
                      Transformer t 
          = tFac.newTransformer(xslSource);
                      File xmlFile 
          = new File(xmlFileName);
                      File htmlFile 
          = new File(htmlFileName);
                      Source source 
          = new StreamSource(xmlFile);
                      Result result 
          = new StreamResult(htmlFile);
                      System.out.println(result.toString());
                      t.transform(source, result);
                  } 
          catch (TransformerConfigurationException e) {
                      e.printStackTrace();
                  } 
          catch (TransformerException e) {
                      e.printStackTrace();
                  }
              }
          }

          4、html.html
          <html>
          <head>
          <META http-equiv="Content-Type" content="text/html; charset=utf-8">
          <title>使用XML+XSLT生成的HTML文件</title>
          </head>
          <body>
              XML與JSP
              
          <br>
          <br>第1章 認識XML與DTD<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;1.1. XML的產生
              
          <br>
          <br>第2章 XML名稱空間<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;2.1. 名稱空間在元素和屬性中的應用<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1. 名稱空間在元素中的應用123,456,789<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2. 缺省名稱空間123,456,789<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3. 名稱空間在屬性中的應用123,456,789<br>
          <br>&nbsp;&nbsp;&nbsp;&nbsp;2.2. 名稱空間和DTD
          </body>
          </html>

          5、效果
          XML與JSP

          第1章 認識XML與DTD

              1.1. XML的產生

          第2章 XML名稱空間

              2.1. 名稱空間在元素和屬性中的應用

                  2.1.1. 名稱空間在元素中的應用123,456,789

                  2.1.2. 缺省名稱空間123,456,789

                  2.1.3. 名稱空間在屬性中的應用123,456,789

              2.2. 名稱空間和DTD

          posted @ 2009-08-11 17:05 『 Y X 』 閱讀(5071) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 法库县| 霸州市| 天水市| 凤凰县| 靖州| 永平县| 大石桥市| 宣汉县| 建平县| 桃江县| 疏勒县| 福清市| 松潘县| 定襄县| 临江市| 永康市| 滕州市| 六安市| 姜堰市| 上虞市| 徐汇区| 寿阳县| 泽州县| 民和| 廉江市| 沧州市| 秦皇岛市| 张北县| 永胜县| 云安县| 吉林市| 托里县| 镇平县| 永年县| 红安县| 博野县| 东乡县| 乐山市| 临潭县| 满洲里市| 东台市|