|
Java原始碼美化效果演示 |
|
|
|
|
|
SourceFormatX 使用強大的Java詞法解析引擎全面地分析您的原始碼並根據用戶自定義的Java語言原始碼風格重構和美化Java原始碼檔案,因此它能精細地根據不同的原始碼風格美化多種原始碼,甚至是下面這些極度混亂的原始碼:
|
Java原始碼美化範例:
範例1
|
範例2
|
範例3
|
範例4
這是一個非常極端的 Java 原始碼美化的範例,其目的是為了展示 SourceFormatX Java原始碼美化工具詞法解析引擎的威力。這份混亂的 Java 原始碼檔案在瞬間即被 SourceFormatX 美化和縮排成整潔且可讀性強的風格樣式。
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();}}
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
|