程序员应该具备哪些素养

论坛 期权论坛     
选择匿名的用户   2021-5-30 01:27   467   0
<blockquote>
<p>能坚持别人不能坚持的,才能拥有你想拥有的。<br> 关注<code>编程大道</code>公众号,让我们一同坚持心中所想,一起成长!!</p>
</blockquote>
<p>哈喽,大家好,我是walking。今天咱们不聊技术,聊聊作为程序员应该具备的素养。</p>
<p>程序员,一个多么让人“敬仰”的职业。而程序员作为新一代的回归自然的“猿人”,也是属于新一代的第三类人种,程序员这个职业在外界眼中就是“人傻钱多死得早”的代名词,因为“高薪”的诱惑,不少其他行业的兄弟,转行做了程序员,而且近几年各种大大小小的培训机构如雨后春笋般遍地开花,越来越多的其他行业的从业者都在往程序员这一行业转,相信作为程序员的你身边多多少少都会有几个同事是从其他行业转行过来的。</p>
<p>而在21世纪这个信息化、网络化快速发展的今天,获取信息和知识的途径越来越广泛,在这个快速发展、节奏紧张的社会,作为一个程序员应该具有哪些素养才能够帮助程序员进一步的提升与进步呢?下面walking作为一个程序员在此做一个个人分享。</p>
<p><strong>扎实的专业技能</strong><br> 这是作为程序员最基本的职业素养,如果专业技能掌握的不够牢固,那就是技术不到家,作为程序员应该感到惭愧。最基本的,比如我们Java开发者吧,最起码把这个Java的常用的API要熟练吧,这是毋庸置疑的。不然你怎么写代码,怎么开发呀。不要觉得我说的在这一点是废话,这不,walking最近就看到一个同事写出了这样的代码</p>
<pre class="blockcode"><code class="language-java">&#64;GetMapping(&#34;/getUserCount&#34;)
public Map&lt;String,Object&gt; getUserCount(){
    Map&lt;String,Object&gt; result &#61; new HashMap&lt;&gt;();
    String key &#61; &#34;users_set&#34;;
    Jedis jedis &#61; jedisPool.getResource();
    Set&lt;String&gt; smembers &#61; jedis.smembers(key);
    Iterator&lt;String&gt; iterator &#61; smembers.iterator();
    int count &#61; 0;;
    while (iterator.hasNext()){
        iterator.next();
        count&#43;&#43;;
    }
    result.put(&#34;count&#34;,count);
    return result;
}</code></pre>
<p>这段代码仅仅是为了得到使用redis的set结构保存的用户ID的count数,这位同事怎么写的呢,从redis里拿到所有用户ID的set集合,然后用java的方式--迭代器遍历集合,再count&#43;&#43;计算set中元素个数。看到这,你有什么想法呢?明明很简单的一行代码,却搞的这么麻烦,到底是为什么?不还是技术不到家吗?redis的api不会也就算了,java的set集合的api再不懂就说不过去了吧?所以扎实的专业技能是程序员的基本素养,否则写出这样的代码只会让人贻笑大方。</p>
<p><strong>保持良好的编码习惯</strong><br> 不但要专业知识扎实,代码规范程度也很重要。知名互联网公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。正所谓“规范大于约定”,良好的编码习惯将会让你受益终身。阿里的一套Java开发手册让无数公司追捧,闻名国内外。详看:<a href="http://mp.weixin.qq.com/s?__biz&#61;MzUxNTQyOTIxNA&#61;&#61;&amp;mid&#61;2247484279&amp;idx&#61;1&amp;sn&#61;17caccf94a96b924a2819dab873256a3&amp;chksm&#61;f9b78546cec00c50a5f810124d4e388bb07179c2a1f52c255e99f335b7c6927fd70ae8e5774c&amp;scene&#61;21#wechat_redirect">下载 | 阿里Java开发手册嵩山版</a>。</p>
<p><strong>团队精神和协作能力</strong></p>
<p>团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。</p>
<p><strong>文档习惯</strong></p>
<p>文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。</p>
<p><strong>需求理解能力</strong></p>
<p>程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP