201705-31 资深程序员:给Python软件开发测试的25个忠告! 当我加入Ansible团队之后,我决定写下多年来所学到的软件工程实践和原理方面的经验。我的激情是测试,因为我相信良好的测试既可以确保最低质量标准(可惜很多软件产品都缺乏这一点),也可以指导和塑造开发过程本身。以下许多建议与测试有关,其中一些原则甚至特定于Python,但绝大多数不是。(对于Python程序员,PEP8应该是编程风格和指南的第一站。)1、不要编写你认为以后可能需要但目前不需要的代码。这是对未来想象的... 继续阅读 >
201705-04 35 个让你的代码变得糟糕的不良习惯 坏习惯很难改变,如果你不知道你的坏习惯正在影响工作,那就更难。如果你知道,但不在乎——这是最糟糕的情况。但好在你已经来这里看了,不是吗?作为一个程序员,我看到很多不好的做法,不仅仅与代码相关,还包括团队合作能力。我自己曾经就有不少这些坏习惯。这里是我认为最糟糕的35个坏习惯,它们涵盖了四大类:组织代码、团队合作、编写代码以及测试和维护。组织代码1.说“我稍后会改”推迟修复代码这个... 继续阅读 >
201704-21 程序员招聘建议 没有灵丹妙药能让你成功应聘为开发人员。但是,在此过程中却有一些非常有帮助的建议。我最近采访了MattLangan和ChristianMacolino,Atlassian公司两名最顶尖的高级技术招聘人员。我想知道他们——来自于一家为共计33亿美元的软件公司招聘高科技人才——的看法 。本文着眼于招聘的周边问题,其中包括一些实用的技巧和面试指南。简历首先要有拿得出手的简历。我们需要通过这些,以便于展示自己的能力给参与招聘过程的... 继续阅读 >
201704-21 给进阶中的程序员朋友的40条真言 40条真言,希望对进阶中的程序朋友有所帮助。1、重构是程序员的主力技能。2、工作日志能提升脑容量。3、先用profiler调查,才有脸谈优化。4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5、普通程序员+google=超级程序员。6、单元测试总是合算的。7、不要先写框架再写实现。最好反过来,从原型中提炼框架。8、代码结构清晰,其它问题都不算事儿。9、好的项目作风硬派,一键测试... 继续阅读 >
201704-13 Java程序员应当知道的10个面向对象设计原则 面向对象设计原则是OOPS编程的核心,但我见过的大多数Java程序员热心于像Singleton(单例)、Decorator(装饰器)、Observer(观察者)等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面。学习面向对象编程像“抽象”、“封装”、“多态”、“继承”等基础知识是重要的,但同时为了创建简洁、模块化的设计,了解这些设计原则也同等重要。我经常看到不同经验水平的java程序员,他们有的不知道这些OOPS和SOLI... 继续阅读 >
201704-13 Python 程序员需要知道的 30 个技巧 如果你让一个Python程序员说一下Python的优势,他会说简洁以及高可读是最有影响力的优势。为证明上述两点,在这个Python教程里,我们将聊聊许多基本的Python建议和技巧。我们从开始使用Python便收集这些有用的捷径(贴士与技巧)。分享一些我们知道,同时又能造福于人的知识,有什么事情比这更棒吗?所以今天我们带来另一些基本的Python贴士与技巧,所有的这些技巧都能帮助你压缩代码并且优化运行。此外,... 继续阅读 >
201703-21 前端程序员必知:单页面应用的核心 这几年里,单页面应用的框架令人应接不暇,各种新的概念也层出不穷。从过去的jQueryMobie、Backbone到今天的Angular2、React、Vue2,除了版本号不同,他们还有很多的相同之处。刚开始写商业代码的时候,我使用的是jQuery。使用jQuery来实现功能很容易,找到一个相应的jQuery插件,再编写相应的功能即可。对于单页面应用亦是如此,寻找一个相辅助的插件就可以了,如jQueryMobile。尽管在今天看来,jQue... 继续阅读 >
201703-15 Redis之父:10x程序员应该具备哪些素质? 在开发界有一个长期引起争议的说法,那就是所谓的10x程序员是否存在?这个说法是Brooks,F.P在《没有银弹》中首次提出的,他认为在普通设计师(程序员)和优秀设计师(程序员)之间,有着10倍多的差异。对于10x程序员是否存在这个问题,开源键值存储数据库系统Redis的开发者antirez(SalvatoreSanfilippo)认为,如果把编程工作看作是一门“非线性”学科的话,那么不仅存在10x程序员,甚至连100x程序员这种异兽都有,同... 继续阅读 >
201703-08 有关程序员的十个预言 作为程序员,我们总是身处于如万花筒般变化无常的技术世界里。我们可能也是那群能够最早感知到科技变化所带来巨大影响的人。然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己更好地应对未来呢?让我们打开脑洞,预测一下未来10年,程序员这个职业可能发生的变化。程序员将变得更加全能许多文章或艺术作品中将程序员的未来描绘得过于科幻或戏剧化,而基于我们看到以及正在发生... 继续阅读 >
201703-08 当程序员有孩子之后! 一、农村人能成为一名程序员,这是一件非常值得高兴的事情。一身程序员打扮的我,看到大城市的繁华不禁感叹世间美好,可是,当我走过一条黝黑小巷子的时候,一群可爱的姑娘非要拉着我进屋,说是要我补几个漏洞,身为程序员,这点小忙还是要帮的,可进屋之后她们却开始开始脱我的衣服,我好害怕,感觉自己被骗了,因为屋子里一台电脑都没有!二、程序员的日常对话A:00101010100101001…B:... 继续阅读 >
201702-28 程序员需要知道的 RAID 基本原理 RAID,全称为redundantarrayofindependentdisks,是目前商用服务器常见的磁盘管理技术。作为软件开发人员,需要了解各级RAID的特性,以便根据需求做出做合适的选择。本文总结了常见的RAID级别的特性,包括如下内容:RAID的基本作用各级RAID的基本原理RAID的基本作用RAID的一般有如下作用数据冗余性能提升数据冗余是指把数据的校验信息存放在冗余的磁盘中,在某些磁盘数据... 继续阅读 >
201702-24 创造型职业程序员的无奈 编程是为数不多的一种既能满足个人爱好,又能赚钱的职业之一。烹饪是另一个这样的例子。在一般情况下,大多数职业要么不可能让你待在家里(例如医生和电工),要么你没有兴趣在家里做(例如清洁)。同样的,大多数好玩的活动是没人愿意付你钱的。软件开发则横跨两个阵营:对有些人来说这是一个令人愉快的职业生涯,对其他人来说,这是一个激动人心的兴趣爱好。前者是我所谓的“职业程序员”,后者则是“创造型程序员”,当然这... 继续阅读 >
201702-23 成就伟大程序员所要具备的10个特质,你命中没 世上程序员千千万,可称得上“伟大的”无二三。所以很多程序员心中都有疑问“伟大的程序员都有哪些特质,怎样才能成为一个伟大的程序员呢?”。首先,一个伟大的程序员肯定要是技能满点的,技术问题即使不是分分钟解决,也会在思考之后成功解锁。其次,一个伟大的程序员绝对不是只会机械的编写代码,他还有各种软实力傍身。下面我们就详细来看一下伟大程序员身具的十大特质。1.广泛涉猎,博闻强记编程这件事是... 继续阅读 >
201702-06 2017热点推荐:成功程序员的8个习惯 对成功的渴望或许是我们与生俱来写在基因里的一部分。成功会让人幸福,并且几乎每个人都在争取幸福。当我们感到幸福的时候,我们大脑中的化学物质会迸发积极的情感,激励我们获取更多的成功。成功的职业生涯通常是指规定时间内,发布高质量且被认可的工作。这对于IT开发人员也没什么不同。成功的开发人员能在预估范围内编写出高质量的代码,并通过发布伟大的产品让利益相关者满意。那么开发人员如何才能做到这一点呢?... 继续阅读 >
201701-16 如何成为一名开源程序员 首先要明白,开源是开放的。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能成为开源程序员。只需要做好程序,然后共享代码。在理想情况下保证代码能保持开放,不管它被如何使用。就是这样,你就是一名开源程序员!那现在目标已经有了,过程要怎么样呢?第一步:找到和选择自己的Skilltrees(技能树)... 继续阅读 >
201701-13 程序员知道但大部分人不知道的事 RonGross开源并不意味着任何人都能够编辑源代码。逻辑这个词的真正内涵。有很多正在使用的编程语言,但有上百种不通用的编程语言。打造一个网站或者一个项目是艰辛的工作。编程一整个领域每隔四年就会快速变化。“浏览互联网”这个简单的任务背后,是引擎下成堆的不同层,好的程序员能够理解这所有不同层(通常要让所有层正确工作其实算得上奇迹了)。大多数程序员的日常工作与你大学里面在取得计算机科学学士... 继续阅读 >