Answers:
如何在不亲自面对的情况下吞并骄傲和承认错误。
如何像用户一样思考,而不像技术怪胎程序员那样思考。
什么时候寻求帮助,什么时候不寻求帮助。
如何阅读别人的代码。
这是我的10位:
如何放松。这是生产力的秘诀。
最终,意志力和咖啡因还不够。我们的这种持续收缩非常有害。
这是一个大问题。
基本数据类型和算法理论。诸如Big O符号,数组,队列等之类的东西。
好吧,这是我的.02 $:
您无法测试产品的质量。
我对此有些迟,但是我将继续使用Edsger Dijkstra的知识:
除了数学上的偏爱之外,对母语的掌握也非常出色,这是一名合格的程序员的最重要资产。
如果您不能写出好的段落,则很可能您也不会写出好的代码。
if (BlowUpTheSystem = 1)
。当然,给定适当的单元测试,您可能仅节省时间。但是时间很重要。
对于任何给定的技术,操作系统或语言,不要过于情绪化地归属,痴迷或虔诚-都不是完美的-从长远来看,您可能最终希望自己可以根据自己的想法创建自己的菜谱像每个不同的人一样
可以将其视为汽车-您以前可能没有驾驶过特定的汽车,但是它们都具有钥匙,方向盘,油门和制动器-一旦您弄清了什么地方,就应该能够融入其中并迅速开车。像对待操作系统和语言一样对待它们,并着重于学习它们背后的基本概念,即使您处于任何给定实例的细节之中。
随着时间的流逝,尝试理解和欣赏各种技术的血统,传承和共性,这将有助于您保持洞察力。例如,请意识到,尽管进化树正在活跃地分支并且充满了死胡同,但随着时间的流逝,技术趋向于反复地围绕“最佳实践”和“规模经济”进行融合(例如,注意Mac与Mac并没有什么不同)这些天在机子下的PC ...)。
最后,请记住,无论您对这一切有多开心,技术本质上都代表着您的思维可以想象到实际生产之间的不完美镜头。尽力,学会学习并保持适应能力...
如何用C编程
停止学习的那一天应该成为不再是程序员的那一天。
没有人想要使用软件。他们想解决问题。
Coffee和IntelliSense是您最好的朋友。
如何观察一个大的复杂对象并将其分解为小的简单对象,当再次组合在一起时,它们仍然可以完成相同的任务。
永远不要信任用户(特别是如果应用是公开的!),他们通常会尽其所能来破坏您的应用。
使它面向未来并可扩展–您永远都不知道要在几年后何时对其进行扩展,并意识到重新编码不良创建的代码将花费多少精力。
良好的UI设计和沟通(即图形)设计的基础。
我看到如此多的应用程序和项目被不良的设计或易用性破坏了。只需学习基础知识,就可以改变世界。加上视觉问题解决技术(即,如何在视觉上传达概念)是一个刺激性的挑战,应使您对新的观察方式睁开眼睛,这反过来又会对代码产生影响。
推荐的书是罗宾·威廉姆斯(Robin Williams)的《非设计师的设计书》
哇!每个人都必须进行一些图形设计,并非每个软件团队都拥有专业设计师。这本出色的薄书将带您了解页面布局,字体等的基本原理。好消息是,您可以在水变冷之前在浴中阅读它,第二天,可以看到对话框,PowerPoint和网页将开始看起来更好。
每个程序员都应该知道如何快速学习。很多时候,您开始工作,并会被要求开发从未使用过的技术。在要求您编写生产质量的代码之前,他们可能会给您一个星期左右的时间(如果您很幸运的话)。
从我的头顶上:
除了加,减,乘,除运算法则,很少有编程问题需要数学运算。如果您想使用微积分解决问题,请在进行此操作之前详尽研究替代方案。
每当您发现自己在猜测某事应该如何工作时,您就在做错事情。心灵感应不是你的工作。
给您规格的人很少了解他想要的一切,直到您将其散列出来。
成为优秀程序员的一半以上来自与人打交道。与您的团队互动,管理您的经理以及对最终用户进行罚款是工作的一半。
编写好的代码可以被人们阅读,也可以被编译器阅读。
最佳实践和实践现实之间的冲突比程序员想的要多,但比经理想的要少。当他们看起来有冲突时,由您来描述和理解冲突,然后屈服于实践。如果从长远来看它更具成本效益,那么微妙而巧妙的解决方案仅比丑陋,残酷的解决方案更好。
好的工具不能造就出优秀的程序员,但是坏的工具会让我们同样糟糕。
永远不要轻视一项技术,而总会寻找最佳的选择。
您知道的语言越多,使用的语言就会越好。
不要被面向编程的思想慢慢渗透到您的日常生活中。即使我们不在计算机旁,我们也会遭受带宽限制,任务切换会降低性能,并需要从备份存储中加载内容。计算机应该模仿人类的思想,类似物无处不在。
阅读别人的代码不会破坏您的大脑,而是弄清楚为什么您不会那样做(如果更好或不是,这是另一个问题)。
这使您可以编程gedankenexperiment,有时您会发现有人实现了更好的方法!喜欢方式更好。
该答案自然扩展为阅读您自己的代码,因此扩展为使用版本控制和DIFF,因此扩展为42。