gpt4 book ai didi

architecture - 建立软件工程技能的资源

转载 作者:行者123 更新时间:2023-12-04 17:38:59 27 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




如果这个问题对网站来说过于开放,我们深表歉意,但这似乎是最好的提问地点。

我是一个自学成才的程序员,在他的教育背景下几乎没有数学,在十年的职业生涯中,他慢慢地从前端 Web 脚本和 Web 开发转向了中间层和数据层软件工程。因此,我在某些领域的知识和经验有些欠缺。

在最近与我的经理进行审查后,我向我表明,克服这些差距是我与晋升高级工程师职位之间的唯一障碍。然而,为了做到这一点,我必须为自己找到一种结构化的学习方法,并证明我已经接受了我需要知道的东西。

我个人认为我的弱点如下。请注意,在很多情况下,问题不是我从技术上不理解这些东西是如何工作的,而是我不知道在哪里应用它们或不适合应用它们。例如,我知道接口(interface)是什么,从技术上讲,它做了什么,但我很难区分何时适合使用接口(interface)而不是一组从基类继承的相关 OO 类。因此,与技术上的无知相比,对好的软件设计的无知更多的是——我确实在欣赏、消化和处理诸如松散耦合系统之类的事情时遇到了麻烦。

  • 接口(interface)
  • 代表
  • 设计模式
  • 网络架构和协议(protocol)

  • 另外我从来没有做过一些低级的东西,比如编译器之类的。有时我想知道如果我对这类 Material 有更好的了解,它是否会对我编写代码的能力产生很大的影响,这些代码不仅有效而且优化得很好。

    有时担心我无法识别自己技能中的弱点,因为我不知道如何提出正确的问题,这困扰着我。所以,希望我已经正确地提出了这个问题,我希望得到你的建议:
  • 从我目前缺乏的声音来看,还有其他我应该考虑的话题吗?
  • 哪里有一些学习这些 Material 的好资源?
  • 是否有任何相关的结构化、自学的类(class)可供我学习?遗憾的是,我没有时间考取正式的资格证书。

  • 干杯,
    马特

    最佳答案

    不久前我还是一名自学成才的程序员,所以我可以理解你的立场。
    从那时起,我已经发布了 1000 万个 LOC 应用程序,因此我必须培养洞察力。
    三件事帮助我获得软件工程:书籍、代码和人员。

    首先,好的工程是关于美的,优雅设计的美,高效机制的美。你需要培养对美的感觉,并且要做到这一点,你需要看到它并讨论它。

    SICP 这样的书, Refactoring , Head First Design PatternsBeautiful Code都是关于漂亮/更好的代码。大多数时候,它们与语言本身(或外来语言)无关。代码完整也很有趣,但不知何故更底层。

    在线阅读代码也是培养品味的好方法。我没有想到任何例子,但这是 common question ,你应该很容易找到一些想法。此外,构建一个雄心勃勃的应用程序(游戏、3d 建模器、Web 服务器、数据库)是一个很好的实践:您可能会重做 2 或 3 次以获得更好的架构。

    人也很重要。如果你找到一个/几个充满激情的软件架构师来讨论,你将能够面对你对什么是美的看法。我仍在消化几年前与经理进行的一些讨论。

    这种“启蒙”是一个持续的过程,所以不要气馁,继续前进。有一天,您会看到带有明显替代实现的丑陋代码,您可以客观地讨论和比较它,它比原来的更好。

    关于architecture - 建立软件工程技能的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944122/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com