<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post/4863/</link>
<title><![CDATA[程序员需要具备的基本技能]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 22 Dec 2011 09:00:42 +0000</pubDate> 
<guid>http://jackxiang.com/post/4863/</guid> 
<description>
<![CDATA[ 
	<br/><br/>软件开发是一个跨度很大的技术工作，在语言方面，有C，C++，Java，Ruby等等等等，在环境方面，又分嵌入式，桌面系统，企业级，WEB，基础系统，或是科学研究。但是，不管是什么的情况，总是有一些通用的基本职业技能。<br/>这些最基本的职业技能通常决定了一个程序员的级别，能否用好这些技能，直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能，所以，他们需要有老手带，需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能，而且有能力胜任并带领其他经验不足的程序员。<br/>下面这些基本职业技术可以用来做为对一个程序员的评估，很明显，下面的这些技能都可以用来做面试。虽然，还有很多非技术的因素，但对于评估一个程序员的技术能力来说，其应该是足够的了。<br/>下面是程序员所应该具备的基本职业技能：<br/> <br/>基本技能 &nbsp;&nbsp;技能描述<br/>阅读代码 &nbsp;&nbsp;这个技能需要程序员能够具备读懂已经存在的代码的能力，这样的能力可以让程序员分析程序的行为，了解程序，这样才能和开发团队一起工作，继承维护或是改进现有的程序。<br/>编写程序 &nbsp;&nbsp;编写程序并不包括程序设计。不要以为编程是一件很简单的事情，很多程序员都认为编程只需要懂得程序语言的语法，并把设计实现就可以了。但是这离编写程序还远远不够，使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。<br/>软件设计 &nbsp;&nbsp;这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能，而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀，但每个程序员都需要或多或少的明白和掌握这一基本技能。<br/>熟悉软件工程 &nbsp;&nbsp;每个程序员都应该明白软件工程是什么东西，都应该知道，需求分析，设计，编码，测试，Release和维护这几个阶段。当然，几乎所有的人都知道这些东西，但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外，程序员还需要知道一些软件开发的方法论，比如：敏捷开发或瀑布模型。<br/>使用程序库或框架 &nbsp;&nbsp;一个程序员需要学会使用已有的代码，无论是标论的程序库，或是第三方的，还是自己公司内部的，都需要学会做。比如：C++中，需要学会使用STL，MFC，ATL，BOOST，ACE，CPPUNIT等等。使用这些东西，可以让你的工作事半功倍。<br/>程序调试 &nbsp;&nbsp;程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常，也没有人可以保证程序永远不会出BUG。所以，熟练使用调试器是一个程序员需要具备的基本技能。<br/>使用IDE &nbsp;&nbsp;学会使用IDE工具也会让你的工作事半功倍。比如，VC++，Emacs，Eclipse等等，并要知道这些IDE的长处和短处。<br/>使用版本控制 &nbsp;&nbsp;一定要学会使用版本控制工具，什么叫mainline/trunk，什么叫tag，什么叫branch，怎么做patch，怎么merge代码，怎么reverse，怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。<br/>单元测试 &nbsp;&nbsp;单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit, CppUnit等等。<br/>重构代码 &nbsp;&nbsp;每个程序员都需要有最基本的能力去重构目前已有的代码，使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》，每个程序员都应该读一下。<br/>自动化编译 &nbsp;&nbsp;程序员需要使用一个脚本，其能自动化编程所有的工程和代码，这样，整个开发团队可以不停地集成代码，自动化测试，自动化部署，以及使用一些工具进行静态代码分析或是自动化测试。<br/>当然，还有很多的基本技术也是非常重要的，比如，与人的沟通能力，语言的表达能力，写作能力，团队协作能力，适应变化的能力，时间管理能力，多任务处理能力，自我学习能力，故障处理能力，等等，等等，这里只是列举了和技术相关的能力，这些是程序最最最基本的能力，只要是程序员就必需要有的能力。<br/><br/>本文出自 “陈皓的个人专栏” 博客，请务必保留此出处http://haoel.blog.51cto.com/313033/154090<br/>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4863/#blogcomment63404</link>
<title><![CDATA[[评论] 程序员需要具备的基本技能]]></title> 
<author>youyiwang &lt;tripear@163.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 10 Jan 2012 08:20:40 +0000</pubDate> 
<guid>http://jackxiang.com/post/4863/#blogcomment63404</guid> 
<description>
<![CDATA[ 
	博主赶紧更新哦！
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4863/#blogcomment63405</link>
<title><![CDATA[[评论] 程序员需要具备的基本技能]]></title> 
<author>yuanmai20169 &lt;marcellus96lzn6@21cn.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 11 Jan 2012 20:45:37 +0000</pubDate> 
<guid>http://jackxiang.com/post/4863/#blogcomment63405</guid> 
<description>
<![CDATA[ 
	成与不成都半是个人因素
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4863/#blogcomment63410</link>
<title><![CDATA[[评论] 程序员需要具备的基本技能]]></title> 
<author>yuanmai82673 &lt;marcellus96lzn6@21cn.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sat, 14 Jan 2012 21:39:26 +0000</pubDate> 
<guid>http://jackxiang.com/post/4863/#blogcomment63410</guid> 
<description>
<![CDATA[ 
	破碎就破碎要什么完美呢
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4863/#blogcomment63411</link>
<title><![CDATA[[评论] 程序员需要具备的基本技能]]></title> 
<author>pengruncs160 &lt;chuangkhpwnknl21@tom.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 22 Jan 2012 20:38:14 +0000</pubDate> 
<guid>http://jackxiang.com/post/4863/#blogcomment63411</guid> 
<description>
<![CDATA[ 
	到了到了到了刚刚开始
]]>
</description>
</item>
</channel>
</rss>