<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jaunty@软件测试，音乐，还有不一样的生活 &#187; 开发，程序设计</title>
	<atom:link href="http://jaunty.me/blog/tag/%e5%bc%80%e5%8f%91%ef%bc%8c%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaunty.me/blog</link>
	<description>软件测试，自动化测试，QTP，Loadrunner，Java，软件开发，性能测试，开源</description>
	<lastBuildDate>Thu, 24 Jun 2010 13:30:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[转]当下10大最热门的网站开发技术</title>
		<link>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%bd%93%e4%b8%8b10%e5%a4%a7%e6%9c%80%e7%83%ad%e9%97%a8%e7%9a%84%e7%bd%91%e7%ab%99%e5%bc%80%e5%8f%91%e6%8a%80%e6%9c%af/</link>
		<comments>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%bd%93%e4%b8%8b10%e5%a4%a7%e6%9c%80%e7%83%ad%e9%97%a8%e7%9a%84%e7%bd%91%e7%ab%99%e5%bc%80%e5%8f%91%e6%8a%80%e6%9c%af/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 01:50:49 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[职业发展]]></category>
		<category><![CDATA[软件设计开发]]></category>
		<category><![CDATA[开发，程序设计]]></category>
		<category><![CDATA[网站开发]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=30</guid>
		<description><![CDATA[ 虽然现在美国经济出现危机，但是网站开发领域依然很繁荣，因为不论是现在或者将来，网络必定是人们日常生活中不可缺少的组成部分。NETTUTS上列出10大最吃香的网站开发技术。作为网站开发工程师，如果你精通这些技术，即便在经济不景气的时候，仍然很容易找到一份好工作。
1. Framework knowledge (架构知识)
    架构是大型网站开发的重要部分。开发者已经从Rails, Django等公司提供的网站架构工具中收益，因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术(像Rails, Django, CakePHP, Symfony等)，你的择业面将非常广阔。

2. Widget Development (窗体小部件开发)
　窗体小部件(Widgets)是一个嵌入网页的迷你应用程序，通常也可以下载到Windows或者Mac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像Yahoo Widgets和AOL Music Widgets。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识，还需要精通Javascript和Flash知识。
3. Custom CMS themes (内容管理系统主题定制)
　如今越来越多人开始使用CMS(内容管理系统，例如Wordpress和Drupal)来构建他们的网站。可以想象不可能大家都用CMS提供的默认主题，为了让自己的CMS网站在外观设计上独树一帜，就需要一些专门给CMS开发主题的技术人员。
4. CMS Customizations and plugin development (内容管理系统的定制以及插件开发)
　同样随着CMS的流行，对CMS的功能定制以及插件开发的需求也越来越大。
5. PSD to XHTML services (PSD转换XHTML的服务）
　在建站中，许多公司是先用Photoshop设计好网站的外观原图，然后再转换成XHTML。这需要很强的CSS/HTML知识。
6. Javascript Plugin creation(Javascript的插件开发)
　Javascript的Framework非常流行，因为它使Javascript的代码开发变得简单。就比如说现在流行的Javascript Framework &#8211; jQuery，如果你在它的基础上开发优秀的插件，那么你的插件也会跟着流行起来。
7. Facebook/MySpace applications (Facebook/MySpace 应用程序开发)
　Facebook/MySpace两大社交网站在美国红遍半边天。给他们开发应用程序，不用说一定是相当热门的。
8. iPhoneapplications (iPhone 应用程序开发)
　同样给iPhone开发应用程序，也一直都可以被大量下载，因此也是很赚钱的活。
9. E-commerce integration (电子商务一体化)
　如今电子商务网站(像Ebay，Amazon)与在线银行服务系统(像Paypal和Google Checkout的)之间的配合越来越紧密，因此电子商务交易平台的开发也是相当有前途的。
10. Flash and Actionscript Knowledge [...]]]></description>
			<content:encoded><![CDATA[<p> 虽然现在美国经济出现危机，但是网站开发领域依然很繁荣，因为不论是现在或者将来，网络必定是人们日常生活中不可缺少的组成部分。NETTUTS上列出10大最吃香的网站开发技术。作为网站开发工程师，如果你精通这些技术，即便在经济不景气的时候，仍然很容易找到一份好工作。</p>
<p>1. Framework knowledge (架构知识)</p>
<p>    架构是大型网站开发的重要部分。开发者已经从Rails, Django等公司提供的网站架构工具中收益，因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术(像Rails, Django, CakePHP, Symfony等)，你的择业面将非常广阔。</p>
<p><span id="more-30"></span><br />
2. Widget Development (窗体小部件开发)</p>
<p>　窗体小部件(Widgets)是一个嵌入网页的迷你应用程序，通常也可以下载到Windows或者Mac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像Yahoo Widgets和AOL Music Widgets。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识，还需要精通Javascript和Flash知识。</p>
<p>3. Custom CMS themes (内容管理系统主题定制)</p>
<p>　如今越来越多人开始使用CMS(内容管理系统，例如Wordpress和Drupal)来构建他们的网站。可以想象不可能大家都用CMS提供的默认主题，为了让自己的CMS网站在外观设计上独树一帜，就需要一些专门给CMS开发主题的技术人员。</p>
<p>4. CMS Customizations and plugin development (内容管理系统的定制以及插件开发)</p>
<p>　同样随着CMS的流行，对CMS的功能定制以及插件开发的需求也越来越大。</p>
<p>5. PSD to XHTML services (PSD转换XHTML的服务）</p>
<p>　在建站中，许多公司是先用Photoshop设计好网站的外观原图，然后再转换成XHTML。这需要很强的CSS/HTML知识。</p>
<p>6. Javascript Plugin creation(Javascript的插件开发)</p>
<p>　Javascript的Framework非常流行，因为它使Javascript的代码开发变得简单。就比如说现在流行的Javascript Framework &#8211; jQuery，如果你在它的基础上开发优秀的插件，那么你的插件也会跟着流行起来。</p>
<p>7. Facebook/MySpace applications (Facebook/MySpace 应用程序开发)</p>
<p>　Facebook/MySpace两大社交网站在美国红遍半边天。给他们开发应用程序，不用说一定是相当热门的。</p>
<p>8. iPhoneapplications (iPhone 应用程序开发)</p>
<p>　同样给iPhone开发应用程序，也一直都可以被大量下载，因此也是很赚钱的活。</p>
<p>9. E-commerce integration (电子商务一体化)</p>
<p>　如今电子商务网站(像Ebay，Amazon)与在线银行服务系统(像Paypal和Google Checkout的)之间的配合越来越紧密，因此电子商务交易平台的开发也是相当有前途的。</p>
<p>10. Flash and Actionscript Knowledge (Flash和Actionscript知识)</p>
<p>　越来越多的公司采用Flash来制作自己的网站、展现自己的产品，因为精美的动画总是容易吸引人们的眼球。因此Flash动画技术也必然迅速发展。</p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%bd%93%e4%b8%8b10%e5%a4%a7%e6%9c%80%e7%83%ad%e9%97%a8%e7%9a%84%e7%bd%91%e7%ab%99%e5%bc%80%e5%8f%91%e6%8a%80%e6%9c%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转]写出漂亮代码的七种方法</title>
		<link>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%86%99%e5%87%ba%e6%bc%82%e4%ba%ae%e4%bb%a3%e7%a0%81%e7%9a%84%e4%b8%83%e7%a7%8d%e6%96%b9%e6%b3%95/</link>
		<comments>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%86%99%e5%87%ba%e6%bc%82%e4%ba%ae%e4%bb%a3%e7%a0%81%e7%9a%84%e4%b8%83%e7%a7%8d%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 01:43:57 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[软件设计开发]]></category>
		<category><![CDATA[开发，程序设计]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=16</guid>
		<description><![CDATA[首先我想说明我本文阐述的是纯粹从美学的角度来写出代码，而非技术、逻辑等。以下为写出漂亮代码的七种方法：
1， 尽快结束 if语句
例如下面这个JavaScript语句，看起来就很恐怖：
1 function findShape(flags, point, attribute, list) {
2    if(!findShapePoints(flags, point, attribute)) {
3        if(!doFindShapePoints(flags, point, attribute)) {
4            if(!findInShape(flags, point, attribute)) {
5                if(!findFromGuide(flags,point) {
6                    if(list.count() &#62; 0 &#38;&#38; flags == 1) {
7                          doSomething();
8                    }
9                }
10            }
11       }
12    } 
13  }
 
阅读全文…
但如果这么写就好看得多：
1 function findShape(flags, point, attribute, list) {
2    if(findShapePoints(flags, point, attribute)) {
3        return;
4    }
5
6    if(doFindShapePoints(flags, point, attribute)) {
7        return;
8    [...]]]></description>
			<content:encoded><![CDATA[<p>首先我想说明我本文阐述的是纯粹从美学的角度来写出代码，而非技术、逻辑等。以下为写出漂亮代码的七种方法：</p>
<p>1， 尽快结束 if语句</p>
<p>例如下面这个JavaScript语句，看起来就很恐怖：</p>
<p>1 function findShape(flags, point, attribute, list) {<br />
2    if(!findShapePoints(flags, point, attribute)) {<br />
3        if(!doFindShapePoints(flags, point, attribute)) {<br />
4            if(!findInShape(flags, point, attribute)) {<br />
5                if(!findFromGuide(flags,point) {<br />
6                    if(list.count() &gt; 0 &amp;&amp; flags == 1) {<br />
7                          doSomething();<br />
8                    }<br />
9                }<br />
10            }<br />
11       }<br />
12    } <br />
13  }</p>
<p> <span id="more-16"></span></p>
<p><a href="”&lt;?php"><strong>阅读全文…</strong></a></p>
<p>但如果这么写就好看得多：<br />
1 function findShape(flags, point, attribute, list) {<br />
2    if(findShapePoints(flags, point, attribute)) {<br />
3        return;<br />
4    }<br />
5<br />
6    if(doFindShapePoints(flags, point, attribute)) {<br />
7        return;<br />
8    }<br />
9<br />
10    if(findInShape(flags, point, attribute)) {<br />
11        return;<br />
12    }<br />
13<br />
14    if(findFromGuide(flags,point) {<br />
15        return;<br />
16    }<br />
17<br />
18    if (!(list.count() &gt; 0 &amp;&amp; flags == 1)) {<br />
19        return;<br />
20    }<br />
21<br />
22    doSomething();<br />
23<br />
24 }</p>
<p>你可能会很不喜欢第二种的表述方式，但反映出了迅速返回if值的思想，也可以理解为：避免不必要的else陈述。</p>
<p>2， 如果只是简单的布尔运算（逻辑运算），不要使用if语句</p>
<p>例如：<br />
1 function isStringEmpty(str){<br />
2    if(str === “”) {<br />
3        return true;<br />
4    }<br />
5    else {<br />
6        return false;<br />
7    }<br />
8 }</p>
<p>可以写为：<br />
1 function isStringEmpty(str){<br />
2    return (str === “”);<br />
3 }</p>
<p>3， 使用空白，这是免费的<br />
例如：<br />
1 function getSomeAngle() {<br />
2    // Some code here then<br />
3    radAngle1 = Math.atan(slope(center, point1));<br />
4    radAngle2 = Math.atan(slope(center, point2));<br />
5    firstAngle = getStartAngle(radAngle1, point1, center);<br />
6    secondAngle = getStartAngle(radAngle2, point2, center);<br />
7    radAngle1 = degreesToRadians(firstAngle);<br />
8    radAngle2 = degreesToRadians(secondAngle);<br />
9    baseRadius = distance(point, center);<br />
10    radius = baseRadius + (lines * y);<br />
11    p1["x"] = roundValue(radius * Math.cos(radAngle1) + center["x"]);<br />
12    p1["y"] = roundValue(radius * Math.sin(radAngle1) + center["y"]);<br />
13    pt2["x"] = roundValue(radius * Math.cos(radAngle2) + center["y"]);<br />
14    pt2["y"] = roundValue(radius * Math.sin(radAngle2) + center["y");<br />
15    // Now some more code<br />
16 }</p>
<p>很多开发者不愿意使用空白，就好像这要收费一样。我在此并非刻意地添加空白，粗鲁地打断代码的连贯性。在实际编写代码的过程中，会很容易地发现在什么地方加入空白，这不但美观而且让读者易懂，如下：<br />
1 function getSomeAngle() {<br />
2    // Some code here then<br />
3    radAngle1 = Math.atan(slope(center, point1));<br />
4    radAngle2 = Math.atan(slope(center, point2));<br />
5<br />
6    firstAngle = getStartAngle(radAngle1, point1, center);<br />
7    secondAngle = getStartAngle(radAngle2, point2, center);<br />
8<br />
9    radAngle1 = degreesToRadians(firstAngle);<br />
10    radAngle2 = degreesToRadians(secondAngle);<br />
11<br />
12    baseRadius = distance(point, center);<br />
13    radius = baseRadius + (lines * y);<br />
14<br />
15    p1["x"] = roundValue(radius * Math.cos(radAngle1) + center["x"]);<br />
16    p1["y"] = roundValue(radius * Math.sin(radAngle1) + center["y"]);<br />
17<br />
18    pt2["x"] = roundValue(radius * Math.cos(radAngle2) + center["y"]);<br />
19    pt2["y"] = roundValue(radius * Math.sin(radAngle2) + center["y");<br />
20    // Now some more code<br />
21 }</p>
<p>4， 不要使用无谓的注释<br />
无谓的注释让人费神，这实在很讨厌。不要标出很明显的注释。在以下的例子中，每个人都知道代码表达的是“students id”，因而没必要标出。<br />
1 function existsStudent(id, list) {<br />
2    for(i = 0; i &lt; list.length; i++) {<br />
3       student = list[i];<br />
4<br />
5       // Get the student’s id<br />
6       thisId = student.getId();<br />
7<br />
8       if(thisId === id) {<br />
9           return true;<br />
10       }<br />
11    }<br />
12    return false; <br />
13 }</p>
<p>5， 不要在源文件中留下已经删除的代码，哪怕你标注了<br />
如果你使用了版本控制，那么你就可以轻松地找回前一个版本的代码。如果别人大费周折地读了你的代码,却发现是要删除的代码，这实在太恨人了。</p>
<p>//function thisReallyHandyFunction() {<br />
//      someMagic();<br />
//      someMoreMagic();<br />
//      magicNumber = evenMoreMagic();<br />
//      return magicNumber;<br />
//}</p>
<p>6，不要有太长的代码</p>
<p>看太长的代码实在太费劲，尤其是代码本身的功能又很小。如下：</p>
<p>1 public static EnumMap&lt;Category, IntPair&gt; getGroupCategoryDistribution(EnumMap&lt;Category, Integer&gt; sizes, int groups) {<br />
2        EnumMap&lt;Category, IntPair&gt; categoryGroupCounts = new EnumMap&lt;Category,IntPair&gt;(Category.class);<br />
3<br />
4        for(Category cat : Category.values()) {<br />
5            categoryGroupCounts.put(cat, getCategoryDistribution(sizes.get(cat), groups));<br />
6        }</p>
<p>#</p>
<p>我并不是说非要坚持70个字符以内，但是一个比较理想的长度是控制在120个字符内。如果你把代码发布在互联网上，用户读起来就很困难。<br />
7，不要在一个功能（或者函数内）有太多代码行<br />
我的一个老同事曾经说Visual C++很臭，因为它不允许你在一个函数内拥有超过10，000行代码。我记不清代码行数的上限，不知道他说的是否正确，但我很不赞成他的观点。如果一个函数超过了50行，看起来有多费劲你知道么，还有没完没了的if循环，而且你还的滚动鼠标前后对照这段代码。对我而言，超过35行的代码理解起来就很困难了。我的建议是超过这个数字就把一个函数代码分割成两个。</p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2008/12/%e8%bd%ac%e5%86%99%e5%87%ba%e6%bc%82%e4%ba%ae%e4%bb%a3%e7%a0%81%e7%9a%84%e4%b8%83%e7%a7%8d%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
