当前位置:  开发笔记 > 编程语言 > 正文

我们可以从你最近的灾难性范式转变中学到什么?

如何解决《我们可以从你最近的灾难性范式转变中学到什么?》经验,为你挑选了2个好方法。

偶尔我们会通过软件学习体验来颠覆我们的假设,并且我们从全新的角度来看待软件开发.对于我们大多数已经存在一段时间的人来说,我怀疑的最明显的一个是向硬核OOP的过渡.您经历过其他类似的地震,您如何建议我们可以利用您的经验来质疑我们的假设?

编辑:也许有一些关于你学到了什么的建议,以及它是如何改变你的编程的?



1> Juliet..:

不是最近的,但我开始编程作为业余爱好者.我成了一名高手,通过自学了解了我需要知道的一切.我上大学是为了获得我的2年计算机科学学位,在我的课程中航行,并且没有学到任何新信息.这太容易了,并且为留言板做出了贡献并且看到其他人都在努力,我自我评估自己至少与任何10年的老将一样,都是一名优秀的程序员.

然后我得到了我的第一份编程工作.当我开始敲击我的第一行代码时,那些实际上会被其他人使用的代码,它让我非常努力:很难写代码.

只是有机会看看其他人的代码,听听他们谈论DLL,版本控制,将程序集放入GAC,设计模式,测试驱动开发,所有这些其他外国概念,在大学里没有人会提到我意识到我对编程几乎一无所知.大学和自学没有为真正的交易做好准备.事实证明,我可以敲除代码来做我想做的任何事情,但我根本不是一个高级思想家,无论我发出什么代码都是非常可怕的.

好吧,一个好的6个月的实际经验解决了这个问题,有助于解决一些不良习惯,并让我对代码应该是什么样子有一个很好的感觉.所以,我在这里,对自己感觉良好,但我遇到了一个我无法解决的问题:我有一个嵌套在另一个对象内5层深的对象,我希望它通知最外层的对象它的状态已经改变了.我无法想出一个明显的方法,所以我咨询了一位同事,他向我提供了一本关于Java设计模式的书.我读了这本书,它开启了我的眼睛,看到我失踪了多少:有一个我以前从未见过的设计模式的整个世界,提出了我从未想过的问题的优雅解决方案.

然后它再次打击了我,这段时间我一直都错过了这么多,我根本不是一个高级思想家,而我为解决GoF书中描述的相同问题所写的黑客使它甚至很明显:我很难写代码.

再过6个月,我就是设计模式的大师.我生活和呼吸抽象的工厂,长期抨击为什么MVC远远优于MVP,在床边旁边祈祷马丁福勒的金色偶像.所以,无论如何,我想通过学习一些其他语言来提升我的简历.我在列表中添加了Python,C#,Perl,但是我只是在语法上进行了微妙的改变而一遍又一遍地学习相同的东西.我决定看一个奇怪的语言,然后我遇到了一些Haskell的片段.我不知道该语言是什么,我读到并发现了一个称为函数式编程的完整编程范式.仅仅为了测试,我学习了一种函数式编程语言(我在Haskell和Lisp上选择了OCaml),它完全改变了我对编程的看法.

在运行那个小实验之后,它再次打击了我:很难写代码

如果没有我对它的了解,这个函数式编程的范围是如何存在的?为什么没有人能早点告诉我这件事呢?想一想,我曾经为能够抽出几十个Java类,几千个代码行创建抽象工厂,具体工厂,访问者等等的等级而感到自豪.当我熟练使用OCaml时,我的应用程序中的行数减少了20:1.数十个可能的Java层次结构崩溃成几个OCaml联合,所有这些都适合单个屏幕.从那以后,我一直在驾驶功能性编程火车.

这里的教训很简单:如果你认为自己是最优秀的程序员,那就太糟糕了."我知道所有需要知道的事情"的心态是天真的,会限制你成为真正优秀程序员的能力.



2> chakrit..:

测试驱动开发?

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有