Language agnostic 您在7-10日之后获得了哪些发展技能+;在OO开发方面有多年的经验?

Language agnostic 您在7-10日之后获得了哪些发展技能+;在OO开发方面有多年的经验?,language-agnostic,oop,Language Agnostic,Oop,有些开发技能,比如重构操作,感觉它们有着几乎无限的潜力 自以为是的学习-只有傻瓜才会说他已经学完了 其他技能与特定的工具有关,作为优秀的开发人员,我们学习新的工具 大多数时候 但有些技能与您如何思考代码和如何进行编码有关,有时与特定工具功能的使用方式有关 应用轮对编程和与他人密切合作似乎是获得这些技能的最佳方式, 虽然肯定不是唯一的方法。(有时你会学到5年前就应该学到的东西,这些不是我要问的) 所以我想将程序与所有StackOverflow配对: 你后来获得的编码技能是什么 编辑:我想我没有想到

有些开发技能,比如重构操作,感觉它们有着几乎无限的潜力 自以为是的学习-只有傻瓜才会说他已经学完了

其他技能与特定的工具有关,作为优秀的开发人员,我们学习新的工具 大多数时候

但有些技能与您如何思考代码和如何进行编码有关,有时与特定工具功能的使用方式有关 应用轮对编程和与他人密切合作似乎是获得这些技能的最佳方式, 虽然肯定不是唯一的方法。(有时你会学到5年前就应该学到的东西,这些不是我要问的)

所以我想将程序与所有StackOverflow配对:

你后来获得的编码技能是什么

编辑:我想我没有想到如果你今天刚从学校出来,你会学到什么作为课程的一部分。

原型制作和模仿

我想起了过去我第一次投入开发“原位”功能的时候——在沙盒应用程序中隔离问题要好得多


嘲弄-同样,遵循隔离原则(分而治之),这绝对是我现在提出的任何设计的核心。

只有当我意识到我需要人际交往技能来补充我的技术技能时,我才真正开始发展我的职业生涯


令人惊讶的是,程序员经常忽视这一点,或者与“开发技能”相比,这一点被视为不重要。

有些技能在我开始编写代码时并不存在:

  • 单元测试
  • 重构
  • 其他一些敏捷范例

只有停止呼吸,你才应该停止学习。

只使用我代码的逻辑结构,尽可能忽略物理文件位置。

我可能不属于管理层(在那里我花了几年时间)。我更喜欢编码而不是管理:)


编辑:此外;我刚刚开始真正了解TDD,我很享受它

这似乎很愚蠢,很明显,但是。。。我认为,就我而言,这需要很多年才能掌握窍门:

  • 知道何时在真正需要的地方写评论
  • 知道什么时候不写注释,因为代码现在已经足够自我记录了

知道:虽然我可以,但并不意味着我应该“放纵”自己,建立每一个我想要的请求。我的主要目标是提供一个解决方案,如果这意味着采取一些已经存在的措施并加以扩展,那么就是这样。

实用主义和人际交往技巧

对一种情况采取务实的态度。是的,这可能是理想的,但它真的有必要吗。有些东西可能是世界上最酷的功能,但它真的会带来更多的收入吗。问这些问题,实事求是,会让你从小麦中过滤出很多谷壳


我还在学习人际交往技巧。这并不意味着知道所有的答案,而是能够以他们理解和接受的方式将这些答案传达给管理层和客户。作为一个患有强迫症和双极性痴呆的孤独症患者,有时会让事情变得有点棘手。

嗯,多亏了依赖注入,才能编写出可测试的代码。我们以前是怎么做到的

对我来说,这就是,知道测试什么


我曾经是一个狂热者,他说一切都必须经过测试,DTO的get/set方法等等。这是不切实际和不必要的。你必须测试(至死)复杂和关键的东西,因为这就是你复杂和关键的缺陷所在。轻松测试其余部分。

在团队中成为一名更好的开发人员的软技能,而不是实际能够制作(或多或少)符合规范、编译并使用户/测试人员不会大喊大叫的应用程序的具体细节

  • 什么时候应该防御性地编写可扩展代码,因为您知道它最终会节省您的时间。
    • 何时明确不执行第(1)点
    • 如何在团队中工作
    • 如何阅读和响应一个不是非常准确或写得不清楚的规范
    • 什么时候(以及如何)让别人拥有这个时髦的项目,因为你太忙了
  • 它主要是关于成为一个更好的群居动物,有很多时间和地点可以成为一个大公狼,但程序员往往不能接受批评,我们不能总是像玩玩具一样玩项目


    如果你不能做到这一点,那么Guy Kawasaki和Joel Spolsky写了很多关于创建自己公司的好文章

    软件架构,大规模编程。
    我意识到软件>>代码,而编程语言的问题充其量只是第三个问题。

    我学会了不要对我编写的代码有个人依附。当人们更改我的代码或批评我的代码时,我不再感到受到人身攻击/侵犯。

    看到这么多代码,有的好,有的坏,然后是一些奇怪的代码时的谦卑感,让你意识到你在工作中想要什么,不想要什么。例如,一些人喜欢“牛仔”式的编程,而另一些人则完全有条不紊,不会把它作为一个计划的一部分来做任何事情,这个计划已经由3名高层管理人员编写、审查和签署,以便有幸做一些可能需要几周时间的事情

    更好地组织代码,看看哪里可以进行重构,使之更通用,这样它就有了更多的用途,或者什么时候尝试锁定一些东西,这样就可以完成,而不是一次又一次地进行装饰性的更改,因为客户不知道他们想要什么,但他们不想要他们看到的101个原型。

    我真的很喜欢同意“人际交往技巧”的观点,但除此之外:

    到n