㈠ 不同星座的程序员写起代码来分别是什么样子的
水瓶座
(1.20--2.18)
水瓶座的人都非常聪明(深井冰),特立独行、追求创新,充满了各种奇思妙想,有时候真的怀疑他们是不是从外星系来的。水瓶座的程序员写的代码乍一看平平无奇,再看第二眼,这是什么鬼?看不懂!这是阿斯塔纳星球的语言吗? 水瓶os:天才一般的代码岂是尔等凡人能看懂的!恕我直言,在座的各位都是渣渣!
双鱼座
(2.19--3.20)
双鱼座是天生的诗人,感情至上,一身的艺术细胞,还有重度自恋倾向。据说,ta们修改bug前也必须欣赏bug十秒。因为太过浪漫,ta们还容易多愁善感,有时候无法完全理性地思考问题,在写代码时也会不由自主的受到情绪的影响。代码写成什么样,全看心情。相比于代码的可运行速度,双鱼座更关注的是代码中的哲学意味。什么?写的不好?没逻辑?你跟诗人要什么逻辑!世界知名双鱼男:乔布斯老师。双鱼os:黑夜给了我黑色的眼睛,我却用它来敲代码……
白羊座
(3.21--4.19)
白羊座的人有火一般的热情,具有强大的执行力和进攻意识。他们做事情必须充满斗志,打好鸡血再上路,不然就会觉得没意思。但美中不足的是,ta们往往停留在三分钟热度,代码写到一半就写不下去了。所以他们的代码通常都有一个极其美妙的开头,然后……就没有然后了。那句话怎么说来着:一顿操作猛如虎,bug瞬间多十组。不过,在任何时候,白羊都是冲在最前面的那个人(也可能是最经常背锅的那个人)。 白羊os:别爱我(的代码),没结果。
金牛座
(4.20--5.20)
金牛逻辑思维缜密,人也稳重不浮躁,非常适合写代码!又宅又高薪,不用跟太多人打交道,程序员简直就是金牛的理想工作!金牛座程序员写起代码来就跟他的性格一样,清晰、简洁,没有半句废话,多一个符号都不行。但遗憾地是,不爱写注释也是他们代码的典型风格。 金牛os:要啥注释!写注释多废纸啊!
双子座
(5.21--6.21)
都说双子座有双重精分性格,ta们爱好新鲜事物,爱抖机灵,但做事情难免不专一。工作时也是一样的,A面B面随意切换,写的代码时而好的不像话,时而……额……一言难尽。 双子os:人家不是一个人在战斗!
巨蟹座
(6.22--7.22)
巨蟹除了对自己不温柔,对全世界都温柔的要命!性格好,有耐心,善于体贴和照顾别人(虽然有时候很啰嗦)。巨蟹座程序员在写代码的时候就将这种体贴发挥到极致,要么就不写,要么就写得很细致!担心别人读不懂程序,还会乖乖的把注释摘录下来。巨蟹os:我这么体贴又迷人,谁会不爱呢!
狮子座
(7.23--8.22)
狮子座天生王者气息,热情似火,乐于助人,责任感强。然而,他们身上又散发着迷之自信和中二气息,他们很在意别人对自己的看法,所以在写代码时,会绞尽脑汁的让代码变得更加独特,独特到让别人跪舔的那种。 狮子os:跟我比代码?哼!简直弱爆了!
处女座
(8.23--9.22)
处女座的人天生要强,追求完美,心思细腻,对细节的把控做到了极致。别人发现不了的问题,ta都能在第一时间找出来。处女座程序员对细节非常苛刻,并追求代码的流畅、整洁,连改个bug都要对齐行间距。但正是这种“精益求精、逼死自己造福人类”的代码龟毛症,才能推动IT界健康可持续发展! 处女os:我那是精益求精好嘛!
天秤座
(9.23--10.23)
大写的颜控!天秤座的人对审美有很高的要求,如果你身边有天秤座的朋友,那恭喜你!你已经被纳入高颜值的范畴了!在天秤座程序员眼里,【代码的好看程度】比【代码的好用程度】更重要,毕竟是自己写出来的东西,如果自己都看不下去,又怎么能给别人去看呢?不管这串代码好不好用,只要好看就行了!天秤os:能把代码写得这么美的也就只有我了。
天蝎座
(10.24--11.22)
天蝎座的人多半随性且佛系,决定天蝎座程序员编程风格的只有三个字:看心情。代码对于天蝎座程序员来说虽然很重要,但毕竟每天朝夕相处,便没有了“距离产生美”的感觉,所以他们很容易受其他事物影响。听说菜价涨了?来吧,换代码!人民币汇率又升了?来吧,换代码! 天蝎os:代码千千万,不行咱就换!做人,开心就好~
射手座
(11.23--12.21)
射手座天性爱玩,就像一个长不大的孩子。新鲜感大概是他们毕生的追求,同样的事情不喜欢做第二遍。虽然编程是一项很严谨的工作,但射手座程序员仍然喜欢把自己的奇思妙想加进去。于是他们的代码中总是混杂着最流行的思路和最前沿的理念,虽然不一定有什么用,但看上去奔放洋气有深度,简约时尚国际范就够了! 射手os:我就是我,颜色不一样的烟火!
摩羯座
(12.22--1.19)
摩羯座被公认为最严谨认真的星座,甚至有轻微的强迫症。这个星座的程序员工作起来有板有眼,他们写的代码非常工整规范,犹如教科书般完美。 摩羯os:头可断!血可流!代码不能乱!
不过话说回来,星座这事儿吧,如果笃信的话,多半要交智商税,咱捡好的信就行。最好的态度是:适当信仰,逆天改命 。
㈡ 干货:什么样的人不适合做编程
软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看Quora上面是如何回答的。
<img #0020ff"="" title="干货:什么样的人不适合做
在全栈开发者Adam Leffert看来,最重要的是态度:
我认为编程要想成功最重要的是态度。当然,最低水平的 智力 还是要的。以我这么久的经验来看,还没见过蠢到不会做的。
但是好坏程序员之间的差别几乎永远是态度。
耐心 :对我来说这是最重要的一条。写代码和调试极其令人沮丧。要想做好,你得保持冷静,至少冷静到能够保持清晰的头脑。
精力 :处理棘手问题,编写大量代码容易使得身心俱疲。最重要的是要有我朋友Joshua Wachs所谓的“坐能量(tushie power)”。也就是屁股不离座直到工作完成的能力。
逻辑思维 :这条看似明显,其实不然。一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中。但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围。好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。比方说,屏蔽一段代码,看看问题是不是还出现。
自负 :编程不是你自己的事。这跟你的团队、代码、客户、利益攸关者等等都有关系。(eShare CEO Henry Ward说自己永远都不会要自负的人。)
曾写过不成功OS的Peter Nierop则总结出了当不好程序员的3个迹象:
讨厌用 Google :
在github、google和在线网站上面有大多数现成的解决方案。买本老教授的书学编程的日子已经过去了。现在的代码来得快去得也快。而至关重要的事情是把你的东西尽快推向市场。任何不愿每天至少使用 搜索 引擎1小时的人都应该另寻高就(编者注1:Google自己的研究也发现,开发者搜代码越来越频繁 注2:有人可能会说自己不是讨厌用而是用不了。好吧如果是这样的话,我要加最重要的一条:不懂用google的想都不要想当程序员了)。注意,这某种程度上可能是因为你什么都想自己来,想成为全世界唯一的那个纯粹的coder。
朝九晚五的心态
再强调一遍:及时发布很重要。普通的程序员往往每天工作不到8小时,好吧这就是你平庸的原因所在。不平庸的程序员连续22小时冲刺以后才能打个盹隔4天才洗次澡并在接下来的2周时间里每天要用2小时写一些报告。不能或者不愿在必要时 加班 的人最好打住。
极其糟糕的记忆 :
编程就是开很多的会,做各种各样的变更,可能脑子里面要装100页的代码。未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。如果你的 记忆力 实在是太糟糕的话,最好还是找份其他的工作。
我在这个行当干了这么久,碰到过各种各样的程序员,不变的一点是一旦有上面的问题这些人基本都干不久。
开发者JohnPurcell:
由于开发界总是渴望有新鲜血液进来,所以除非你实在是太差(或者你原来基本都不用工作)否则想不成功都很难。我喜欢Peter Nierop的回答,不过说到正式的付费工作,我本人总是严格遵守朝九晚五的习惯,所以那个说法应该看工作情况而定。
如果你发现编程很乏味, 学习 又总是繁琐无趣的话,那你想做好就很难了。因为你要跟已经编程上瘾的人竞争。不过我也见过几个人虽然不喜欢编程,业余时间基本也不编程,虽然称不上出色的程序员,但是的确能够借此谋生。
要记住的是,编程不是什么精英才能干的事情。这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。
而享受编程乐趣的Prince Pranav提供了3个不适合编程的迹象:
因为错误而过早放弃 :
永不放弃。哪怕是简单的错误也不要放弃。这会让你的代码和心态大不同。好的程序员,在写一长串代码的时候会把代码分解出来,分段测试。如果你因为前面1个小时总是碰到同样的问题就把电脑给关掉了事,可以认为这是迹象1。最后你总会找到问题的,但一定不要放弃。
只对输出而不是质量感兴趣 :
开发出好应用是你的责任。如果你为了赶时间而牺牲应用的质量,你可以成为程序员,但不会是伟大的程序员。
乐趣不是找来的 :
你开始写代码前看了看表,13:02,然后你再看的时候变成13:09了。有的人再看表的时候已经是15:37了。真的,除非你是因为有趣才干这个时间才不会流逝(注:不得不说,这又绕到了做你所爱还是爱你所做这个问题。)
究竟什么样的人当不好程序员,你觉得呢?
㈢ 电脑怎么编程序程序员如何在电脑上编程的
❶ 电脑程序编制怎么弄啊
编写程序需要用软件,一般的软件有VB,还有C语言等很多类型。如果你只是编写一些简单的启动程序,你可以打开记事本输入代码,然后保存,再修改一下文件的格式就可以了,可以改成BAT等。不如说移动磁盘里的autorun.inf
文件就是一个简单的程序文件,你可以用记事本
打卡
里面的文件看看
❷ 电脑怎么写程序
以在 Windows 操作系统下,编写一个 C 语言源程序为例,首先必须要在电脑上安装一个 C语言编译器(例如:Microsoft Visual Studio C++),然后进入该编译环境,在该环境中编写 C 语言源程序、编译 C 语言源程序、调试该程序、直到最后生成可执行的二进制文件(*.EXE)。
❸ 电脑怎么编写简单程序
这是最简单的了~~
❹ 程序员如何在电脑上编程的
说到如何在电脑上编程。首先需要知道下面这个问题的答案:“程序到底是什么?”计算机程序是指令集,它告诉计算机如何执行特殊的任务。VB~VC~VF~C~C#~C++~java~.NET~这些都是编程 ASP~CGI~PHP~JSP这些是WEB编程。。 虽然都是编程,但编出来的程序可是不一样的。 目标是什么?开发?创业?还是去公司上班?还是业余爱好? 如果想业余编小程序,推荐VB~VC~容易上手。简单。也蛮强大。 如果想学好了去企业上班,推荐C++~~~.net~~~JAVA之类的大型项目开发。 如果想做网站,就学ASP~CGI~PHP~JSP,这4个就JSP最最最难,先学ASP。现在是人工智能时代,国家出台了很多政策鼓励人工智能发展,无人超市、无人驾驶、无人银行、AI人脸识别层出不穷,我觉得以后人工智能渗透的领域肯定也会越来越多,所以我推荐让孩子学习python语言,python语言适合做人工智能的开发。简单容易上手,学好了以后对学习、出国留学、就业什么的也会有好处。首先,工程师根据你的需求给你一个合适的方案,这个方案包括硬件搭建、软件架构。 然后,在你满意的方案下为你选用设备 最后,程序员按照你的要求编写软件 各种设备有自己的命令解释器,程序员写出来的软件是可以按照机器能解读的编码编写的,这些不需要用户知道,用户只要知道怎么使用,怎么维护就可以了,如果知道的更多,那就可以成了开发者
❺ 电脑怎么打开编程
编辑程序让电脑执行的过程就叫编程。
编程语言很多,具有代表性的计算机语言有Java,BASICC,C++,VB,VF,SQL,网页编程JSP,ASP,PHP。Java是目前应用最广泛的编程语言之一,大学中则常常以C语言作为编程的入门语言。
很多软件都可以编程,主要有eclipse,MicrosoftVisualStudio,MicrosoftVisualBasic,MicrosoftSQLServer等等。
❻ 怎么去报电脑编程序
题主是想问怎么去编写电脑程序吧?编写程序简单步骤如下:
1、桌面空白处右击2,新建3,文本文档,4,新建文本文档的图标。
2、修改txt文件的扩展名,右键-重命名。将.txt改为.vbs,修改成.vbs后看到图标变了,这就说明你的系统能够识别他成一个vbs脚本程序。
3、根据需要在里面写代码了,右键-编辑文件,直接就可以像编写文本文件一样在里面写代码了。
4、然后在里面输入一句弹出简单对话框的代码。
5、之后关闭文件并且保存,可以在编辑的时候直接按CTRL+S保存再关闭,然后去直接双击刚才新建的文件,就会弹出一个对话框来了。这只是系统自带的一个脚本语言。
6、这只是系统只带的一个脚本语言,如果要编一些其他的程序就需要装对应的代码编辑器了。例如C#就得装visualstudio,java的、、eclipse等等。
❼ 笔记本电脑如何编程
笔记本电脑要想编程,首先要先选择编程语言,然后安装上编程语言工具软件就可以了,如果没有学过编程,可以用中文的"易语言"。
❽ 如何在电脑编写一个小程序,输出字符串
在电脑编写一个小程序,输出字符串,就找相应的软件开发工具。
例如:在这里我们借助的软件是Visual C++6、0。打开软件,先新建一个工程,在新建一个C++源文件,这些你听起来可能有点陌生,不要担心,你只需要按照下面操作就好。在建好文件之后,在源文件处,输入下列代码#includeusing namespace std;voidmaincout<<"我的第一个程序!"<<endl;然后编译这个程序,点击右上角有红色边框的按钮。最后运行这个程序,点击右上角的红色框里的按钮,看看运行结果。
❾ 你怎么在电脑上编程,而不用任何软件
40267">
我从编程写软件学到的 7 件事,其实学习编程不难,写软件也不你那,就看我们如何看待了!
我正在一点一点的从一个工程师转型为管理者。别弄错了,虽然我在转管理,但我仍然在每天写代码。不过我发现自己在会议和电话中会花越来越多的时间去分析讨论,试着去组织团队,并且为全局部署而不是具体战术而烦恼。
当然这不是一件坏事。高层次的决策往往比单个的类和函数的细节更有影响。让一个团队更有效率,比仅仅让自己更有生产力有更高的杠杆作用。但我想我已经从我多年来的编程中吸取到了一些经验。我希望大部分经验可以应用于管理方面。
1、没有规定(rules),只有公案(koans)
译注:公案(Koan)有五种重要的涵义: 作悟禅的工具; 作考验的方法; 作权威的法范; 作印证的符信; 作究竟的指点。)
举个例子:DRY,意思是“不要重复你自己”。作为软件的基本规则这很好理解,因为很多话可以证明:“我做 X 是因为它没有重复。”这说得通,不是吗?如果你有两个或者两个以上部分的代码在做相同的事情,说明你正在浪费。而且如果当你需要改变它们其中一个的时候,你可能也需要改变其他的,并且你很可能会忘记这么做。当它们不同步时,你会得到一个怪异的 bug。因此很显然你不能重复你自己。
然而,在使用了几年之后,人们开始怀疑它的普遍适用性。假如你的两个方法中包含相同的代码块,所以你将其拿出来形成一个单独的函数。通常那些方法会开始朝不同的方向发展…接着你发现自己要在函数中加入更多的参数,很可能为结果立了更多 flags……然后下一个接手的程序员会因为分离出来的函数以及它所带的特定的参数和结果,而出现认知负载。你会意识到如果当初允许自己重复,并让两块代码自然的发展为不同的个体,你生成的代码将会更简单直观。
这意味着 DRY 不好吗?当然不是!通常在合适的环境下使用 DRY 是正确的…好吧,也许。我个人的经验是:“重复一次是可以的,超过一次就不太好了…当然这取决于所处的环境。”因为所有事都取决于环境。DRY 的目的并不是为了 DRY。如果你迷信于此,小孩儿,那你还有太多要学。DRY 的目的为了让你了解 DRY。那当然不是规定,仅仅是公案。
(让我重申一遍:我在讨论的是软件。在我的经验中,硬件规定的确更倾向于是我们所理解中的规定。这就是我为什么要从电气工程转到软件的原因)
细想我最喜欢的两个计算机科学“定律”。第一:“计算机科学中没有一个问题是不能通过添加另一层抽象来解决的!”这句话完全正确吗?当然不。这在现象学上是正确的吗?实际上,的确是。这是否意味着抽象是解决任何问题的正确途径?不,不是。它是一个公案,可以启发思想。
还有我历来最喜欢的:“第一优化定律:不要这样做。第二优化定律(对专家而言):不要又这样做。”这显然是一个公案,却称自己为法规。是时候让你的代码运行的更快吗?不。是时候让你的代码运行的更快吗?还不是。什么意思?意思是要考虑到时间,复杂性,认知负载,具体结果,生活意义,人类存在的意义。并且三思而后行,小孩儿。但不要花太长时间,我们还有工作要做。
2、要想得到他人的信任,先信任他人
这不仅仅针对于管理者。虽然它对管理者尤其重要。信任是你真正拥有的唯一价值。如果你的公正、判断、理解、诚实不被信任。接下来你组织的成员将把你视为祸害并绕着你走。然而,如果你是个有能力但不被信赖的开发者,你可能还有一些价值。虽然你在每个决定上做的努力都会被大大消减。
不过更重要的一点是:一个团队的成员需要互相信任。当 Natascia 说:“我来解决那个问题单(ticket)”,你必须相信她会去做。当你说:“Peter 能在截止时间前完成的。”,你必须相信那会实现。当某人说,“我有一个疯狂的点子”,他们必须信任他们会被尊重和认真对待,尽管那点子的确很疯狂。
你是如何建立和得到信任的?答案很简单:你去信任他人。你相信那个说他可以学会这个新库并且在周一前会整合完的人。你相信那个说他需要提前离开,因为家里有事而会错过明天工作的人。你相信那些想在截止日期前一个月休假的人,因为他们觉得自己已经开始筋疲力尽了。你相信说想要解决难题的初级程序员。
但你不总是正确的。有些时候人在工作上存了坏心。你需要揭露这些人的真面目,让他们尽早离开。有时候你要信任那些真心想成功的人,虽然他们会失败。但违反常识的是,长远来看这通常是个胜利。因为那些人会记住你的信任,他们会尽一切努力来报答你。
3、简单比优雅重要的多
我也喜欢紧凑优雅的代码。我喜欢灵活的框架,有如此多抽象层次随时待命,无论抛出什么改变的需求都能解决。我喜欢使用位向量、位位移、略微复杂的数据结构和不太流行且古怪的小语言特性,但在特定环境下十分实用。
然而你并不只是为了你自己写代码。即使它只是个“原型”。(我已经记不清我有多少“原型”在多次对层操作和润色的过程中出现问题。)而且你不仅仅是为了解决当前的问题编写它。你正在为了下一个接手的开发者可以使用它来解决下一个问题而编写。把你写到那五行代码扩充为十行可以增强其可读性,你知道吗,也许扩展为十五行效果会更好。
你可以提前尝试并用灵活且充满抽象的框架解决它们。但是也许预言不是你的强项,也许你关于下一个问题的概念的想法完全是错误的。也许仅仅编写足够简单的代码才是最佳选择。有一个命名约定和一个编码风格,让它读起来像英语一样。也许不是添加一个类,而是下一个开发者在试图跟随你的控制流程时必须保持另一个文件的开放。你应该用愚蠢的方式,不雅的方式,简单的方式。
4、动力比大多数事都重要
我们都曾见过这种情况。一周里每个人都在检查代码,构建显而易见的雏形,每天不断增加特性,测试覆盖率越来越高。疏忽也随着生产的想法和解决方案而出现。不知怎么的下一周所有事都变得缓慢起来。关于 A 的决定,会影响到 B、C和 D。当人们可以运行D、E 和 F 时,它们不是逻辑序列发展上的一部分。于是需要做更多的假设,认知负载加重,你不得不模拟出一堆东西来写出非模仿代码。一些人需要做这个决定。
或许不是决定会瘫痪,是你上周所做的一切都在错误的基础上,是一个“地震多发区”的技术负债。你需要停止所有事返回并重构它。而且你必须马上开始,因为等的时间越长,事情会变得越糟糕。没人想看到这种事发生 。但他们宁愿现在面对也比下个月知道的好。让暴风雨来的更猛烈些吧。
也许上周每个人都拼劲全力,现在实在撑不住了。你知道该怎样吗?得让他们休息一下,每个人,休息一整天。我保证,这会给你接下来的“长跑”节省时间。
I我们很难定义、衡量以及说明动力。但它在软件开发中是真实存在的东西。而且它的缺失会成为造成首要影响,导致我们需要去解决很多根本问题。别忽略它,也别期望或假装它会神奇地回来。察觉警报并迅速采取行动。
5、与和你互补而不是像你一样的人一起工作
每当我看到人们根据“文化契合度”来找人的时候,我就会拼命翻白眼。你知道大多单一栽培会发生什么吗?他们遭遇了他们不知如何解决的病原体,然后嗝屁死翘翘了。
你不会希望你的所有开发者、设计者、 QA人员、产品人员、销售人员和执行官是彼此的克隆人。你肯定不想。每个人都有自己的长处和短处、优点和缺点。你想要雇佣的是他们的长处,让其他人的长处弥补他们的短处。
比如说我,写代码非常快,擅于沟通,读写文章都奇快。我在任何时候都能熟悉很多编程语言和框架。我理解东西透彻且迅速,有丰富的经验。然而我还是一个在特定领域、框架和语言缺乏深刻专研、精通掌握的全才。我是一个真正从别人身上获益的建筑师,跟踪所有需要,在骨骼构建好之后添加肉体和润色。我还是个 UX 盲(等一下,你说那些还没对齐?),这一直被当作同事之间的玩笑。
像我这样的人非常难找到也是及其被需要的。但一个由我和九个像我一样的克隆人组成的公司是从一开始就注定要失败的。唔,我们会把很多事情做好,但只需要一个集中的盲点,一个灾难性的空隙就足以毁灭公司。大多数人承认有些事情他们做不好,另一些人可能需要照应。这些人往往是寻找“文化契合度”的人,并试图雇佣和他们一样的人。真令人哭笑不得。
6、任何决定都比没决定强
别犹豫,当你拿不准主意时,去做就好了。当然,这可能不适用在生产代码的时候。但它可以应用于除此之外在软件开发里的任何方面。我们在历史上发展最快的行业里工作。我们生活在以指数形式发展的世界里。时间不等人,别浪费它。
这与低级决策的高级讨论一样真实。在高水平的讨论里,比如“我们应该实现特性 A 还会说 B?我们要用哪种方式实现呢,X 还是 Y?“,常常会产生这样的对话,”让我们先跳过这个…下周再对它进行讨论…“,或者更阴险的,”让我们先研究一下其他人做了什么再来讨论一次。“这样的问题极少情况下会有正确答案。大多时候,像这么说才是正确的,”我会在今天之前决定尝试哪一个,这样我们就可以明天开始行动了。
甚至 A 选项基本上是错误选择,开始进行 A 大概也比啥都不做强。这和直觉是相悖的,但它通常也是正确的。以实际上手的方式去理解 A 的本质是一个更好的办法,这个道理始终是正确的。这样的理解可能会引导你做出更好的决定。
对于低级决策,那就更应该如此了。“规范没有说明我们应该如何处理错误条件 X,或者错误信息应该是什么。”(规范似乎是为一个有抱负的乌托邦写的,在这种乌托邦中,错误条件和独角兽一样罕见。)“我知道,我只是想插一句,回去问问他们在这种情况下想做什么!”
这非常诱人。如果你这么做,没人能指责你哪里做错了。但这么做是错误的。宁愿继续自己做决定,尽管有些鲁莽,也不要什么都不做等着问别人。让它们在你做已经写好的程序和你学到的教训里迭代,虽然你知道这并不完美,也好过从头开始错误认知。它们和项目将会变得更好。快速尝试,快速改变方向。
7、保持谦虚,但要自信
你不需要所有的答案。甚至是我也不得不勉强承认我不会有全部的答案。可恶,我甚至连它们的大多数也没有,不过我有自信,只要给我足够的时间和精力,我能弄清楚大部分。并且你也可以。
我们无法都成为 Jeff Dean(谷歌大牛)、中本聪(比特币创始人) 或是 Margaret Hamilton(登月计划中的女程序员)。我们在一个充斥着真正的天才和自称天才的地方工作。没人知道所有的事情,每个人都敏锐地意识到他们所不知道的一切。幸运的是,大多数情况下,我们不是科学家。我们的工作不是去寻找新突破。我们的工作是实践他人的发现,使东西运转,希望服务于人们真正想要的东西。也许你永远不会发明任何东西,像是布隆过滤器或默克尔树。不过大多与你共事的人们也不会。而且这不是重点,重点是使用布隆过滤器和默克尔树,亦或是在它们之上建个抽象层,来实际的完成它们。
所以假设你懂的会比在座的人都多是错误的,就算你觉得他们违背直觉的想法很疯狂,他们的语言选择很糟糕。假设人家比你懂的多也是错误的,即使真是那样,也没关系。世界上多的是聪明人因为一些不可思议的原因什么实际东西也没做出来。(开个廉价的玩笑╮(╯▽╰)╭:这就是为什么我们有学术界的原因。)
如果你真的做出了一些东西,在面对那些令人眼花缭乱的理论知识,或是和你相似甚至比你做的更糟糕的人时大可不必谦虚。在一天结束之时,正是那些在战壕中的开发者——构建、测试和开发了代码的人,真正做了事情。话说那些发现自己远离战壕的人,那些没有和你一起并肩作战的逃兵,你有权利鄙视他们。并且向你的伙伴致敬,而不是上司。
原文标题:做好这7件事 让你学编程写软件不在难
原文链接:http://www.epx365.cn/peixun/software/201840267.html
㈣ 如何成为编程高手,程序员要看什么样的书籍,有经验的人说一声,做好是大师级别的人物
作者:金蝶中间件公司CTO袁红岗
不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99 weat and 1ffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
㈤ 优秀Java程序员都是怎样写代码的
主要是勤奋刻苦、开拓思想、坚持不懈、不断学习的精神。
1、先说素质:欲做事,先做人。做技术类的童鞋往往忽视做人,觉得学好习,搞好技术,就一定能获得好的发展。其实未必,大部分程序员不是天才,也不是神通。要想让别人教雹高你知识,与你分享技术,与你共事,素质是最关键的。高素质又高技能的人才才能获得别人的敬仰与尊敬,也能获得领导的赏识与提拔,更能获得更高的回报和机会。
2、再说代码:优秀的程序员必需能写优秀的代码,程序员就好比计算机界的作家,你写的程序就如一篇篇优美的文章,计算机才能很好的阅读并执行,别的程序员也能看懂你的代码。最优势的程序员写的代码就如诗歌一样,引人入胜。
3、编程思想:java是面向对象编程,很多Java程序员,尤其是一些走培训班的,不认真思考原理和思想,囫囵吞枣。结果学了技术,不懂思想,没有掌握Java的精髓。
4、基础扎实:有些Java工程师都做了好几年了,结果一些最基本的知识还没记牢,再编程的时候总用工具的提示,没有工具就写不出正确的代码,这样的人怎么会成为高手呢,更不会被别人认为高手,就好比一个大作家连很多字都写错一样。
5、编程速纯肆棚度:优秀的程序员编程必不慢,这除了基础扎实、经验丰富外,更需要清晰的编程思路和节奏,在写程序前,一定做好规划和设计,预想到各种情况,寻找最快速的算法。
6、注重效率:一个功能,张三用了100000行代码,而你只用了300行代码,那你做的既简单又高效,运行速度还快,还省内存和资源,那你就是牛人,那个人就是低做则手。
7、学习能力:优秀的程序员永远不停的学习,其学习能力是最强的。他随时随地掌握最先进的技术,这都离不开快速的学习能力。