‘壹’ 如何成为一个程序老手,新手必知的40个小技巧
老鸟和新手的一个很大区别来自于debug的能力。其中最主要又可以从两方面看出来:
从高层往底层找错。
科学方法。
0.重构是程序员的主力技能。
工作日志能提升脑容量。
先用profiler调查,才有脸谈优化。
注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。
普通程序员+google=超级程序员。
单元测试总是合算的。
不要先写框架再写实现。最好反过来,从原型中提炼框架。
代码结构清晰,其它问题都不算事儿。
好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘。
编码不要畏惧变化,要拥抱变化。
常充电。程序员只有一种死法:土死的。
编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。
一行代码一个兵。形成建制才能有战斗力。单位规模不宜过大,千人班,万人排易成万人坑。
重构/优化/修复Bug,同时只能作一件。
简单模块注意封装,复杂模块注意分层。
人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式; 不好用的接口,尝试重新封装下。
迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。
忘掉优化写代码。过早优化等同恶意破坏;忘掉代码作优化。优化要基于性能测试,而不是纠结于字里行间。
最好的工具是纸笔;其次好的是markdown。
leader问任务时间,若答不上来,可能是任务拆分还不够细。
宁可多算一周,不可少估一天。过于“乐观”容易让boss受惊吓。
最有用的语言是English。其次的可能是Python。
百闻不如一见。画出结果,一目了然。调试耗时将大大缩短。
资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。
不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。
序列化首选明文文本 。诸如二进制、混淆、加密、压缩等等有需要时再加。
编译器永远比你懂微观优化。只能向它不擅长的方向努力。
不要定过大、过远、过细的计划。即使定了也没有用。
至少半数时间将花在集成上。时间,时间,时间总是不够。
与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。
出现bug主动查,不管是不是你的。这能让你业务能力猛涨、个人形象飙升; 如果你的bug被别人揪出来.....呵呵,那你会很被动~≧﹏≦
不知怎么选技术书时就挑薄的。起码不会太贵,且你能看完。
git是最棒的。简单,可靠,免费。
仅对“可预测的非理性”抛断言。
Log要写时间与分类。并且要能重定向输出。
注释是稍差的文档。更好的是清晰的命名。让代码讲自己的故事。
造轮子是很好的锻炼方法。前提是你见过别的轮子。
code review最好以小组/结对的形式。对业务有一定了解,建议会更有价值(但不绝对)。而且不会成为负担。管理员个人review则很容易成team的瓶颈。
提问前先做调研。问不到点上既被鄙视,又浪费自己的时间。
永远别小看程序媛(╯3╰)!
‘贰’ 前端开发中的轮子指的是什么,造轮子指的是什么
这不是前端特有的词。曾经轮子被制造出来,那是一个伟大的发明。重复发明轮子用来比喻费力不讨好的行为。我又要味精同意贴链接了:https://www.hu.com/question/20103953
在写程序的时候,轮子就是别人写好的工具,库,框架。造轮子就是去实现这些东西咯。重复造轮子就是指别人都已经写好了,有现成的可以用,结果你自己还是想自己写一遍。当然有的轮子是收费的,自己支付不起……那也只好自己制造咯。
‘叁’ IT程序员常说轮子什么意思
“造轮子”的含义:明知道你做的不可能比前辈做得更好,却仍然坚持要做。
比如,车轮子是圆形的,这是大家公认的最合适的形状。而自己非要发明另一种形状的轮子,这种行为就叫重复发明轮子,即“造轮子”。
‘肆’ 程序员所说的“轮子”是什么东西创造它有什么意义
我觉得程序员这个工作是值得夸奖的,我很佩服这群人,因为他们用自己的手指敲出代码,完成编程。
放到编程中,就是说业界已经有公认的软件或者库了。你明知道自己不可能比它做得更好,却还坚持要做。作为练习,造轮子可以增加自己的经验,很多事情看起来简单,但只有自己动手,才会发现其中的难点。当然实际开发中也有很多情况不得不造轮子,比如希望做到自主知识产权、刷 KPI 之类的;或者造轮子的人真的觉得自己开发的版本有更强的功能。
‘伍’ 一个从事程序开发工作的程序员,职业寿命能够有多久
之所以绝大部分程序员只能做到35岁左右,主要有以下几个原因。
3、性格原因,晋升或者转型困难。
不可否认,随着技术水平和管理经验的提升,有一部分人是可以获得晋升的,但是那毕竟是只是少数,相当一部分的程序员,因为长期和电脑打交道,不善于与人交流和沟通,这也成为他们晋升和转型的最大障碍。
4、干久了,对这个行业产生了厌倦
熟悉的地方往往没有风景,同一件事情干久了,必然会有厌倦的情绪,这就好比夫妻之间相处久了,有一种左手摸右手的感觉,工资上不去,强度那么大,明天却没有奔头,谁还没有点儿别的想法呢?
5、当然也有相当一部分人,他们早早地给自己做好了职业的规划,第二职业或者副业都做得相当的不错。当35岁危机来临的时候,他们依然可以从容面对,华丽转身。
可能很多人会拿身边的极端例子来反驳,认为程序员这个职业,只要保持空杯心态,只要你还想干,你就可以一直干下去,干到老。还是那句话,你见过35岁以上的程序员吗?如果你见过,你见过几个?
在中国,程序员是一碗青春饭,这本身并不重要,重要的是,当青春渐远,你是否做好了准备!
‘陆’ 怎样做一名高效率程序员
1、理解编程语言的原理
三流的人才懂应用,二流的人才懂开发,一流的人才懂原理。各种语言之间存在着相似的地方,掌握语言的原理是必不可少的。最重要的,让语言去适应项目,反之亦然。
2、向优秀程序员学习
你有一个苹果,我也有一个苹果,我们交换苹果,你我还是有一个苹果;你有一种思想,我也有一种思想,我们交换思想,你我就有了两种思想。
与优秀的程序员为伍,你将吸收的最实用的经验,这远比你一个人自学、死磕编程来的快一些。有一句话说到好,与臭棋佬下棋,棋会越下越臭。不可否认这样一个事实:和什么样的人在一起,就有什么样的格局,就会有什么样的人生。
3、了解数据结构和算法
如果你要成为一个高效的开发者,就必须学会快速排序、学会辨认O(n2)程序、学会编写递归函数。
学会多种语言,你便会更清楚不同的框架是相同问题的是如何解决的。尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。
4、精通一个编辑器
高效开发者通常是用IDE编辑器吗?其实不是的,他们更常用的文本编辑器,因为这样更会学到东西。
如果使用编辑器选择通用的Emacs或Vim,自然是最好的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用Visual Studio或SublimeText的自动补齐功能。
5、整洁的代码胜过巧妙的代码
如果想让别人可以轻松读懂你编写的代码,请尽量使用最少的代码来完成任务。在编写代码过程中,遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。
6、掌握代码调试技巧
现如今市场和需求变化相当快,项目的周期有时就会缩短。一个月的工作计划,会缩短到2个星期。项目的压力难免会导致程序员的代码质量会有所下降!
因此,调试技巧在这样的环境下就显得尤为重要。高级程序员会在函数的开始和结束输出Log,把所有的参数和返回值打印到日志系统,便于追踪。在解决问题的过程中,使用开发工具一行一行进行调试,实时观看参数的变化。
7、重新回顾代码
重新去回顾和审视自己写过的代码,通常会有两种体验,一种是我怎么写了这么烂的代码;另外一种则是对自己写过的代码充满了成就感。回顾代码有时可以触发我们新的想法,甚至还能对编码有一个更深层次的思考。
‘柒’ 程序员是吃青春饭的,你认同这种说法吗
作为一名在职开发程序员来说,我来回答你这个问题。很多人也问过我这种类似的问题,甚至有的人直接问我是不是到了30岁就要考验转行了呢?其实我觉得这并不是一定的,是不是青春饭取决于你自己的,很重要的一点取决于你自己的职业规划。为什么这么说呢?我举个例子吧,其实在阿里,腾讯,网络还有华为这些企业还是有很多大龄程序员的,他们就类似于扫地僧的角色,人家年龄肯定也至少30~40左右甚至更高,但是这种角色一般都是在攻克某种技术的难关,做得更多的是创新类的开发工作,而不是重复在造轮子。
至于吃不吃青春饭还是取决于你自己的,毕竟程序员未来的还有很多行业可以选择的,如果厌倦了敲代码可以转型项目经理或者产品经理,不敲代码,只做产品或者项目,如果你在某个行业待久了,你也可以去当售前工程师,走跑业务的路,路有很多条,看你怎么规划的和怎么去走。
‘捌’ 为什么国内很多程序员都自嘲自己在“重复造轮子”
因为这个就是大多数程序员的工作现状,每天的工作一眼看到头,真的很容易让人消极。不过好在现在有了SoFlu软件机器人,繁琐的低代码工作直接交给它,程序员们也可以从重复的生活中剥离出来,学习新知识或者是把精力投入到创新之中。网络下有很多相关信息。