亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? good java style part 2.txt

?? 一個新的采集工具 一個新的采集工具 一個新的采集工具
?? TXT
字號:
作者:jeru
email: jeru@163.net
日期:8/9/2001 6:12:34 PM
Good Java Style: Part 2
By Thornton Rose 

Introduction
This is the conclusion of a two-part series on Java coding style. In Good Java Style: Part 1 

, I introduced my case for writing Java code using good habits, explained why we should care about the way our code looks, and illustrated some general elements of good Java style. In this part, I illustrate more elements of good style and bring my case to a conclusion. 

Source Files
There are many ways that a Java source file can be organized. Here is one that works well: 


File header comment (optional). 
Package declaration. 
Blank line or other separator. 
Import statements. 
Blank line or other separator. 
Class(es). 

Example 1. Bad File Organization. 


   package org.rotpad;
   import java.awt.*;
   import javax.swing.event.*;
   import org.javacogs.*;
   import javax.swing.*;
   import java.awt.event.*;
   class Foo {
    ...
   }
   public class RotPad extends JFrame {
    ...
   }


Example 2. Good File Organization. 


   package org.rotpad;
   
   // Java classes
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
   import javax.swing.event.*;
   
   // JavaCogs classes
   import org.javacogs.*;
   
   /**
    * RotPad is a simple GUI application for performing rotation ciphers on plain 
    * text.
    *
    * @author Thornton Rose
    * @version 1.0
    */
   public class RotPad extends JFrame {
      ...
   }
   
   //-----------------------------------------------------------------------------
   
   /**
    * Foo is ...
    *
    * @author Thornton Rose
    * @version 1.0
    */
   class Foo {
      ...
   }


Import Statements
A complex class can have a large number of imports, which can get unruly, especially if you prefer to import individual classes instead of whole packages (e.g., java.awt.*). To get a handle on imports, organize them as follows: 


Java standard classes (java.*). 
Java extension classes (javax.*). 
Third-party classes. 
Application classes. 

Be sure to comment the third-party and application classes, particularly those that do not have obvious names. Use end-of-line comments, or put a comment at the beginning of the section. Also, if you really want to be a perfectionist, order each group of imports alphabetically. 

Example 3. Bad Import Style.


   import java.util.*;
   import javax.swing.*;
   import java.awt.event*;
   import com.gensym.com.*;
   import javax.swing.table.*;
   import com.pv.jfcx.*;
   import java.awt.*;
   import com.melthorn.util.*;


Example 4a. Good Import Style. 


   import java.awt.*;
   import java.awt.event*;
   import java.util.*;
   import javax.swing.table.*;
   import com.gensym.com.*;     // BeanXporter
   import com.pv.jfcx.*;        // ProtoView
   import com.melthorn.util.*;  // Utilities

Example 4b. Good Import Style. 


   
   // Java classes
   import java.awt.*;
   import java.awt.event*;
   import java.util.*;
   import javax.swing.table.*;
                           
   // BeanXporter
   import com.gensym.com.*;     
                           
   // ProtoView GUI components
   import com.pv.jfcx.*;
                           
   // Application classes
   import com.melthorn.util.*;


Classes
Organizing a Java source file without organizing the classes in it would not gain you much in the way of proper style. Here's how to organize the classes in your source files: 


Javadoc comment or other header comment. 
Class declaration. 
Field declarations. 
Blank line or other separator. 
Constructors. 
Blank line or other separator. 
Methods, except main()
 
, grouped logically. 
Blank line or other separator. 
Inner classes. 
Blank line or other separator. 
main()
 
. 

Example 5. Bad Class Style. 


   // RotPad -- GUI app. for ROT ciphering
   public class RotPad extends JFrame {
   private static final String TRANSFORM_ROT13    = "ROT13";
   private static final String TRANSFORM_ROT13N5  = "ROT13N5";
   private static final String TRANSFORM_ROTASCII = "ROT-ASCII";
   
   private void jbInit() throws Exception {
      ...
   }
   
   public static final String TITLE   = "RotPad";
   public static final String VERSION = "1.0";
   
   public static void main(String[] args) {
      ...
   }
   
   public RotPad() {
      ...
   }
   
   private JPanel jPanel1 = new JPanel();
   private JPanel jPanel2 = new JPanel();
   private BorderLayout borderLayout1 = new BorderLayout();
   ...
   }


Example 6. Good Class Style. 


   /**
    * RotPad is a simple GUI application for performing rotation ciphers on plain 
    * text.
    *
    * @author Thornton Rose
    * @version 1.0
    */
   public class RotPad extends JFrame {
      // Public constants
       
      public static final String TITLE   = "RotPad";
      public static final String VERSION = "1.0";
       
      // Private constants
      
      private static final String TRANSFORM_ROT13    = "ROT13";
      private static final String TRANSFORM_ROT13N5  = "ROT13N5";
      private static final String TRANSFORM_ROTASCII = "ROT-ASCII";
     
      // GUI components [JBuilder generated]
       
      private BorderLayout borderLayout1 = new BorderLayout();
      private JPanel jPanel1 = new JPanel();
      private JPanel jPanel2 = new JPanel();
      ...
      
      /**
       * Construct a new instance of this class.
       */
      public RotPad() {
         ...
      }
      
      /**
       * Initialize UI components. [JBuilder generated]
       */
      private void jbInit() throws Exception {
         ...
      }
       
      ...
      
      //--------------------------------------------------------------------------
     
      /**
       * Start the application.
       */
      public static void main(String[] args) {
         ...
      }
   }


Field Declarations
Some classes have a large number of fields, which can become difficult to maintain if they are not organized well. Organize them as follows: 


Public contstants (final and static final). 
Public variables. 
Protected constants. 
Protected variables. 
Package constants. 
Package variables. 
Private constants. 
Private variables. 

Additionally, use the following guidelines for writing field declarations: 


Use one declaration per line. 
Use Javadoc comments on public and protected fields, at minimum. 
Use UPPERCASE for the names of constants. Using uppercase makes them much more obvious in both declarations and expressions. 
If you use a tool that generates field declarations, such as JBuilder or Visual Cafe, keep the generated fields separate from the other fields. It makes maintenance of the UI code much easier. 

Example 7. Bad Field Style. 


   public class CustomerSearchDialog extends JDialog {
      private JLabel firstNameLabel = new JLabel();
      private JLabel lastNameLabel = new JLabel();
      public static final RESULT_SELECT = 1;
      private Vector results = new Vector(); // Search results.
      private DefaultTableModel tableModel = new DefaultTableModel();
      public static final RESULT_CANCEL = 0;
      // ...
   }


Example 8. Good Field Style. 


   /**
    * ...
    */
   public class CustomerSearchDialog extends JDialog {
      /**
       * Indicates that search was cancelled; returned by showDialog() when
       * user clicks cancel button.
       */
      public static final RESULT_CANCEL = 0;
      
      /**
       * Indicates that a customer was selected; returned by showDialog() when
       * user clicks select button.
       */
      public static final RESULT_SELECT = 1;
      
      private Vector            results    = new Vector();             // Search results.
      private DefaultTableModel tableModel = new DefaultTableModel();  // Grid model.
      
      // GUI fields. [JBuilder]
      
      private JLabel firstNameLabel = new JLabel();
      private JLabel lastNameLabel = new JLabel();
      // ...
   }


Method Declarations
Use the following guidelines for writing method declarations: 


Always have a Javadoc comment or some other header comment. 
Always put the access modifier first. 
If the line is too long, break it into one or more lines. 
If the method has more than a few parameters, consider putting each on a separate line. 
Don't put whitespace between the method name and the opening parenthesis ("("). 
Always put whitespace (which could be a line break) between the closing parenthesis (")") and the opening brace ("{"). 

Example 9. Bad Method Style. 


   public int getTypeCount (String custType)
   {
   ...
   }
   static public getInstance(){ ... };
   public void showRange()
      throws RangeException {
    ...
   }


Example 10. Good Method Styles. 


   /**
    * Return the single instance of this class.
    */
   public static CalculationEngine getInstance() {
      return instance;
   }
   
   /**
    * Calculate the consumption coefficient.
    */
   public float calculateConsumptionCoefficient(int base, float variance, 
         int iterations) throws RangeException {
      // ...
   }
  
   /**
    * Calculate the consumption coefficient.
    */
   public float calculateConsumptionCoefficient(
         int base, 
         float variance, 
         int iterations) 
      throws RangeException
   {
      // ...
   }
   
   /**
    * Calculate the consumption coefficient.
    */
   public float calculateConsumptionCoefficient(int base, 
                                                float variance, 
                                                int iterations) 
      throws RangeException
   {
      // ...
   }


Conclusion
In conclusion, I have one final thought for you on the subject of code style. No matter what guidelines you follow, and no matter how fervent your beliefs about things like indent style (cf., Raymond, "Indent Style"), remember that when you write code your overall goal should be to make the code understandable and maintainable by someone else. 

Related Links

Indent Style, The Jargon File, Eric S. Raymond. 
Tabs vs. Spaces, Jamie Zawinski. 
Writing Robust Java Code — The Ambysoft Inc. Coding Standards for Java, Scott Ambler. 
Draft Java Coding Standard, Doug Lea. 
Java Code Conventions, Sun Microsystems, Inc. 
How to Write Doc Comments for Javadoc, Sun Microsystems, Inc. 
The Jargon File (known in print as The New Hacker's Dictionary), Eric S. Raymond. 

About the Author
Thornton Rose is a contract software developer in Atlanta, Ga. He can be reached via e-mail at thornton.rose@mindspring.com. 


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲制服色| 手机精品视频在线观看| 91极品视觉盛宴| 日韩欧美123| 激情综合五月天| 国产精品午夜电影| 99精品1区2区| 亚洲精品在线观看网站| 亚洲乱码日产精品bd| 精品系列免费在线观看| 久久伊人中文字幕| 日韩 欧美一区二区三区| 精品国产免费人成电影在线观看四季 | 亚洲va国产天堂va久久en| 欧美日韩三级在线| 精品一区二区三区视频 | 国产精品区一区二区三| 美腿丝袜亚洲一区| 在线免费观看日韩欧美| 国产精品不卡在线观看| 色播五月激情综合网| 日韩高清不卡一区二区| 久久久久亚洲综合| 色88888久久久久久影院按摩| 国产午夜精品在线观看| 麻豆精品蜜桃视频网站| 国产精品无遮挡| 欧美日韩不卡一区二区| 亚洲自拍都市欧美小说| 国产午夜久久久久| 国产精品99久久久久久有的能看| 中文字幕一区二区视频| 91精品国产欧美一区二区18| 国产成都精品91一区二区三| 精品欧美一区二区在线观看| 99国产精品久| 国产一区二区三区四区五区入口| 欧美成人性福生活免费看| 久久福利视频一区二区| 亚洲日本丝袜连裤袜办公室| 日韩精品专区在线影院观看| 91丨porny丨国产| 国产一区二区三区| 午夜不卡av在线| 在线成人小视频| 成人午夜激情片| 美女精品一区二区| 精品999在线播放| 欧美性生活大片视频| 成人深夜视频在线观看| 日本女优在线视频一区二区 | 亚洲欧洲制服丝袜| 欧美r级电影在线观看| 国模套图日韩精品一区二区 | 欧美天堂亚洲电影院在线播放| 国产凹凸在线观看一区二区| 免费成人在线观看| 亚洲成人av资源| 一区二区三区中文字幕电影 | 亚洲欧美精品午睡沙发| 欧美三级电影在线看| 丝袜美腿亚洲色图| 精品久久久久av影院| 欧美丰满美乳xxx高潮www| 91黄色小视频| 一本久久精品一区二区| 成人18精品视频| 五月婷婷久久综合| 久久久.com| 久久久久久久久久电影| 久久这里只有精品视频网| 欧美tickling挠脚心丨vk| av男人天堂一区| 成人久久视频在线观看| av在线免费不卡| 免费看日韩精品| 亚洲天堂成人网| 亚洲免费视频中文字幕| 亚洲一区视频在线| 久久精品欧美日韩精品| 国产亚洲一区字幕| 久久久高清一区二区三区| 久久久电影一区二区三区| 国产婷婷色一区二区三区在线| 91久久精品国产91性色tv| 在线观看一区二区精品视频| 欧美色图12p| 91精品国产欧美日韩| 欧美大片一区二区三区| 久久久久久久久久久久久女国产乱 | 国产精品久久三区| 亚洲欧洲成人精品av97| 日韩一级高清毛片| 欧美精品一区二区三区一线天视频| 成人小视频免费在线观看| aaa亚洲精品| 欧美日韩五月天| 欧美电影免费观看高清完整版 | 日韩小视频在线观看专区| 欧美大片一区二区三区| 欧美色中文字幕| 91麻豆精品国产自产在线观看一区 | 成人黄页在线观看| 久久精品国产一区二区三区免费看| 另类欧美日韩国产在线| av电影在线观看不卡| 国产成人欧美日韩在线电影| 麻豆国产精品官网| 五月婷婷激情综合| 精品一区二区av| 日本视频中文字幕一区二区三区| 激情久久五月天| 91网站最新网址| 欧美一区二区三区小说| 欧美日韩高清在线| 91久久精品一区二区三| 欧美va在线播放| 亚洲男人的天堂在线观看| 麻豆精品一区二区综合av| 91在线你懂得| 日韩欧美国产午夜精品| 亚洲免费观看高清完整版在线观看熊| 亚洲午夜激情网站| 亚洲国产一区二区三区青草影视 | 成人免费视频国产在线观看| 国产精品911| 欧美日韩一区二区三区不卡 | 国产精品久久久久久久久动漫| 亚洲午夜电影在线| 三级在线观看一区二区 | 一本到高清视频免费精品| 99精品一区二区| 精品久久国产字幕高潮| 久久亚洲一区二区三区明星换脸| 欧美va亚洲va在线观看蝴蝶网| 一区二区三区日韩| 国产成人精品影视| 成人的网站免费观看| 欧美一区二区三区婷婷月色| 欧美成人精品高清在线播放| 欧美精品一区二区三区久久久 | 免费高清视频精品| 色国产综合视频| 国产精品久久久久影院老司 | 色老综合老女人久久久| 国产亚洲精品资源在线26u| 亚洲国产成人在线| 综合精品久久久| 亚洲成人久久影院| 91麻豆蜜桃一区二区三区| 久久久久久久久久久久电影| 中文字幕亚洲电影| 国产成人在线视频网站| 色综合天天性综合| 国产亚洲精品福利| 亚洲欧美日韩国产另类专区 | 精品在线视频一区| 成人免费毛片aaaaa**| 亚洲午夜精品网| 欧美中文字幕一区| 亚洲激情网站免费观看| 91视频在线观看免费| 亚洲私人黄色宅男| 99久久国产综合精品色伊| 国产精品高潮久久久久无| 大美女一区二区三区| 欧美三级中文字幕| 亚洲第一福利一区| 欧美精品自拍偷拍| 性做久久久久久久免费看| 国产成人综合亚洲91猫咪| 欧美体内she精视频| 亚洲成人精品一区二区| 在线观看91精品国产麻豆| 日韩av网站免费在线| 日韩欧美国产麻豆| 亚洲欧美另类久久久精品| 91黄色小视频| 久久精品在线免费观看| 波波电影院一区二区三区| 亚洲人精品一区| 欧美午夜寂寞影院| 欧美aⅴ一区二区三区视频| 日韩欧美成人一区| 香蕉成人啪国产精品视频综合网| 国产成人免费xxxxxxxx| 9191久久久久久久久久久| 亚洲三级视频在线观看| 日本高清不卡视频| 日韩国产在线观看| 色激情天天射综合网| 日韩黄色片在线观看| 美国十次综合导航| 在线观看免费视频综合| 日本一区二区综合亚洲| 日韩专区中文字幕一区二区| 97精品久久久午夜一区二区三区| 亚洲午夜久久久久中文字幕久| 日韩欧美一二三区| a4yy欧美一区二区三区|