SourceFormatX

軟體簡介

主要功能

為什麼要使用

源碼美化演示

整合和插件

界面預覽

常見問題

升級歷史

所獲獎項

用戶評價

許可協議

CodeToHtml

Java原始碼美化效果演示

現在購買
下載試用

美化工具功能

SourceFormatX 使用強大的Java詞法解析引擎全面地分析您的原始碼並根據用戶自定義的Java語言原始碼風格重構和美化Java原始碼檔案,因此它能精細地根據不同的原始碼風格美化多種原始碼,甚至是下面這些極度混亂的原始碼:

C/C++ Java C# Delphi (Pascal)
PHP JSP ASP JavaScript
Visual Basic VB.NET VBScript HTML Components
80x86 ASM 8051 ASM CORBA IDL


  Java原始碼美化範例:     範例1   |   範例2   |   範例3   |   範例4

這是一個非常極端的 Java 原始碼美化的範例,其目的是為了展示 SourceFormatX Java原始碼美化工具詞法解析引擎的威力。這份混亂的 Java 原始碼檔案在瞬間即被 SourceFormatX 美化和縮排成整潔且可讀性強的風格樣式。

  /* 原始碼美化之前的Java原始碼 */

  package net.jforum.util;/** * Normalizes an URL.
  * Normalization means replacing blank spaces by underlines,
  * changing special chars by its regular form and etc. * @author Rafael Steil
  * @version $Id: URLNormalizer.java,v 1.4 2006/08/20 22:47:42 rafaelsteil Exp $
  */public class URLNormalizer{public static final int LIMIT=30;/**
  * Normalizes an URL.   * The url will be truncated at {@link #LIMIT} chars
  * @param url the url to normalize   * @return the normalized url
  * @see #normalize(String, int, boolean)   */public static String normalize(
  String url){return normalize(url,LIMIT,true);}/**   *
  * @param url the url to normalize
  * @param limit do not process more than <code>limit + 1</code> chars
  * @param friendlyTruncate If <code>true</code>, will try to not cut a word if
  * more than <code>limit</code> chars were processed. It will stop in the next
  * special char   * @return the normalized url   */public static String
  normalize(String url,int limit,boolean friendlyTruncate){char[]chars=
  url.toCharArray();StringBuffer sb=new StringBuffer(url.length());for(int i=0;i<
  chars.length;i++){if(i<=limit||(friendlyTruncate&&i>limit&&sb.charAt(sb.length(
  )-1)!='_')){if(Character.isSpaceChar(chars[i])||chars[i]=='-'){if(
  friendlyTruncate&&i>limit){break;}if(i>0&&sb.charAt(sb.length()-1)!='_'){
  sb.append('_');}}if(Character.isLetterOrDigit(chars[i])){sb.append(chars[i]);}
  else if(friendlyTruncate&&i>limit){break;}}}return sb.toString().toLowerCase();}}

  /* 原始碼美化之後的Java原始碼 */

  package net.jforum.util;

  /**
   * Normalizes an URL.
   * Normalization means replacing blank spaces by underlines,
   * changing special chars by its regular form and etc.
   * @author Rafael Steil
   * @version $Id: URLNormalizer.java,v 1.4 2006/08/20 22:47:42 rafaelsteil Exp $
   */

  public class URLNormalizer
  {
    public static final int LIMIT = 30;

    /**
     * Normalizes an URL.
     * The url will be truncated at {@link #LIMIT} chars
     * @param url the url to normalize
     * @return the normalized url
     * @see #normalize(String, int, boolean)
     */

    public static String normalize(String url)
    {
      return normalize(url, LIMIT, true);
    }

    /**
     *
     * @param url the url to normalize
     * @param limit do not process more than <code>limit + 1</code> chars
     * @param friendlyTruncate If <code>true</code>, will try to not cut a word if
     * more than <code>limit</code> chars were processed. It will stop in the next
     * special char
     * @return the normalized url
     */

    public static String normalize(String url, int limit, boolean friendlyTruncate)
    {
      char[] chars = url.toCharArray();

      StringBuffer sb = new StringBuffer(url.length());

      for (int i = 0; i < chars.length; i++) {
        if (i <= limit || (friendlyTruncate && i > limit && sb.charAt(sb.length() - 1) != '_')) {
          if (Character.isSpaceChar(chars[i]) || chars[i] == '-') {
            if (friendlyTruncate && i > limit) {
              break;
            }

            if (i > 0 && sb.charAt(sb.length() - 1) != '_') {
              sb.append('_');
            }
          }

          if (Character.isLetterOrDigit(chars[i])) {
            sb.append(chars[i]);
          }
          else if (friendlyTruncate && i > limit) {
            break;
          }
        }
      }

      return sb.toString().toLowerCase();
    }
  }

範例1   |   範例2   |   範例3   |   範例4