• 注重实效的程序员——哲学篇


    注重实效的程序员的特征:

    • 早期的采纳者/快速的改编者
    • 好奇
    • 批判的思考者
    • 有现实感
    • 多才多艺

    注重实现的程序员的特征是他们在处理问题、寻求解决方案时的态度、风格、哲学。他们成功 另一关键是他们对他们所做的每件事情负责。大多数人都很难接受变化,有时是出于好的理由,有时只是因为固有的惰性。理解你的工作的语境的好处之一是,了解你的软件必须有多好变得更容易了。有时接近完美是唯一的选择,但常常会涉及各种权衡。当然,你需要拥有广泛的知识和经验基础才能赢得这一切。学习是一个持续不断的过程。最后,我们没有生活在真空中,我们都要花大量的时间与他人打交道。注重实效的编程源于注重实效的思考的哲学。

    在所有弱点中,最大的弱点就是害怕暴露弱点。——J.B. Bossuet

    提示1:
    Care about your craft
    关心你的技艺

    提示2:
    Think! About your work
    思考!你的工作

    提示3:
    Provide options, Don't make lame excuses
    提供各种选择,不要找蹩脚的借口

    为你自己的行为负责这样一种观念,是注重实效的哲学的一块基石。诚实和坦率。我们可以为我们的能力自豪,但对于我们的缺点——还有我们的无知和我们的错误——我们必须诚实。
    要提供各种选择,而不是找借口。不要说事情做不到,要说明能够做什么来挽回局面。不要好怕提出要求,也不要害怕承认你需要帮助。


    提示4:
    Don't live with broken window
    不要容忍破窗户

    尽管软件开发几乎不受任何物理定律的约束,熵(entropy)对我们的影响却很大。当软件中的无序增长时,程序员们称之为“软件腐烂”(software rot)。有许多因素可以促生软件腐烂。其中最重要的一个似乎时开发项目时的心理(或文化)。
    不要留着“破窗户”(低劣的设计、错误的决策、或是糟糕的代码)不修。发现一个就修一个。如果没有足够的时间进行适当的修理,或许你可以把出问题的代码放入注释,或是显示“未实现”消息,或是用虚设的数据加以替代。
    一扇破窗户——一段设计低劣的代码、团队必须在整个项目开发过程中加以忍受的一项糟糕的管理决策——就足以使项目衰败。按照同样的道理,如果你发现你所在团队和项目的代码十分漂流——编写整洁、设计良好,并且很优雅——你就很可能格外注意不去把它弄脏。

    提示5:
    Be a catalyst for change
    做变化的催化剂


    提示6:
    Remember the big picture
    记住大图景 

    不要像温水煮青蛙一样。留心大图景。要持续不断地观察周围发生的事情,而不只是你自己在做的事情。


    提示7:
    Make quality a requirements issue
    使质量成为需求问题

    你所制作的系统的范围和质量应该作为系统需求的一部分规定下来。
    在某些方面,编程就像绘画。艺术家们会告诉你,如果你不懂得应何时止步,所有的辛苦劳作就会遭到毁坏。如果你一层又一层、细节复细节地叠加,绘画就会迷失在绘制之中。进行前进,让你的代码凭着自己的质量站立一会儿。它或许不完美,但不用担心:它不可能完美。

    提示8:
    Invest regularly in your knowledge portfolio
    定期为你的知识资产投资

    知识上的投资总能得到最好的回报 ——本杰明 富兰克林
    你的知识和经验时你最重要的职业财富。遗憾的是,它们是有时效的资产。随着新技术、语言及环境的出现,你的知识会变得过时。不断变化的市场驱动力也许会使你的经验变得陈旧或无关紧要。
    经营你的资产:

    • 定期投资
    • 多元化 你知道的不同的事情越多,你就越有价值
    • 管理风险
    • 底买高卖
    • 重新评估和平衡

    目标:

    • 每年至少学习一种新语言
    • 每季度阅读一本技术书籍
    • 也要阅读非技术书籍
    • 上课
    • 参加本地用户组织
    • 试验不同的环境
    • 跟上潮流
    • 上网

    持续投入十分重要。学习的过程将扩展你的思维,使你向着新的可能性和新的做事方式拓展。设法把你学到的东西应用到你当前的项目中。即使你的项目没有使用该技术,你或许也能借鉴一些想法。所有阅读和研究都需要时间,而时间已经很短缺。所以你需要预先规划。让自己在空闲的片刻时间里总有东西可读。

    提示9:
    Critically analyze what your read and hear
    批判地分析你读到的和听到的

    提示10:
    It's both what you say and the way you say it
    你说什么和你怎么说同样重要

    没有有效的交流,一个好的想法就只是一个无人关心的孤儿。作为开发者,我们必须在许多层面上进行交流。在工作中使用的更为正式的交流方式中,最困难的部分也许是确切地弄清楚你想要说什么。规划你想要说的东西。写出大纲。然后问自己:这是否讲清楚了我要说的所有内容?提炼它,指导确实如此为止。
    只有当你时在传递信息时,你才是在交流。为此,你需要了解你的听众的需要、兴趣、能力。未来了解你的听众需要听到什么,你需要弄清楚他们的“轻重缓急”是什么。
    调整你的交流风格,让其适应你的听众。反馈也是交流的一种形式。让文档美观。你的主意很重要。它们应该以美观的方式传递给你的听众。太多的程序员在制作书面文档时只关心内容。这时一个错误。与制作文档的过程相比,我们制作出的文档最后并没有那么重要。让你的肚子参与文档的早期草稿的制作,获取他们的反馈,并汲取他们的智慧。
    如果你想要大家听你说话,你必须使用一种方法:听他们说话。即使你掌握着全部信息,即使那是一个正式会议。鼓励大家通过提问来交谈,或是让他们总结你告诉他们的东西。把会议变成对话,你将能更有效地阐明你的观点。
    交流越有效,你就越有影响力。
    了解听众:

    • 你想让他们学到什么?
    • 他们对你讲的什么感兴趣?
    • 他们有多富有经验?
    • 他们想要多少细节?
    • 你想要让谁拥有这些信息?
    • 你如何促使他们听你说好?
  • 相关阅读:
    拓展欧几里得
    使用BIOS进行键盘输入和磁盘读写
    直接定址表
    指令系统总结
    端口
    内中断
    标志寄存器
    call 和 ret 指令
    编写包含多个功能子程序的中断例程
    字符串的输入
  • 原文地址:https://www.cnblogs.com/pangblog/p/3260674.html
Copyright © 2020-2023  润新知