代码之家  ›  专栏  ›  技术社区  ›  Dana Robinson

为了成为一名更好的开发人员,我应该写些什么?

  •  6
  • Dana Robinson  · 技术社区  · 7 年前

    我自己写了以下东西:

    • 简单web服务器
    • 简单web客户端(不同语言)
    • DSL,内部和外部
    • 一些lexers
    • 代码压头(源代码美化器)
    • 简单IDE

    我想对一些既有挑战性又有趣的软件提出一些建议。

    19 回复  |  直到 14 年前
        1
  •  11
  •   BenB    17 年前

    编译程序。

    编辑:或模拟器。两者都很有挑战性。

        2
  •  9
  •   ignorantslut    17 年前

    为开源项目做贡献

    开始 here

        3
  •  8
  •   merkuro    17 年前

    与实际用户有关的东西。听起来可能很有趣,但在我看来,如果其他人使用你的作品并依赖它,这是一个完全不同的故事!

        4
  •  6
  •   TheTXI    17 年前

    一些依赖于你目前所不具备的知识的东西,这意味着你必须在创造它的过程中教育自己。

        5
  •  4
  •   SQLMenace    17 年前

    那么代码生成器呢,它在您完成后也会对您有用

        6
  •  4
  •   Mahesh    17 年前

    选择任何需要组件、增强或bug修复帮助的开源应用程序。您的技能可以在开源世界中发挥作用。除此之外,我建议您使用您的技能来开发这些:

    1. 改善现有图书馆
    2. 开发仿真器/虚拟机软件
    3. 开发文件夹和驱动器保护软件(或更好的加密相关软件)
        7
  •  3
  •   Macarse    17 年前

    分布式环境中的一些东西。

        8
  •  3
  •   Nelson Reis    17 年前

    我会找出一个真正的问题,并为它创建一个解决方案。 它可以是一个算法或一个完整的项目:web项目或客户端应用程序。

    重要的是你要解决真正的问题。

    这就是编程的意义所在。

        9
  •  3
  •   Erich Kitzmueller    17 年前

    一个游戏,可能是像吃豆人或太空入侵者这样的简单游戏。这不仅有趣,而且你还将进入一个全新的领域。

        10
  •  2
  •   David    17 年前

    参加一个开源项目,帮助您了解一些软件开发实践,如使用版本控制系统和bug跟踪系统。

        11
  •  2
  •   Andrew Austin    17 年前

    编写一个二进制搜索树,并实现插入、删除、搜索等。完成后,编写一个splay树。如果那不符合你的喜好,从中挑选一些 Introduction to Algorithms 然后写下来。

        12
  •  2
  •   Terry Wilcox    17 年前

    一本书。教程。任何能教你的东西。教学是学习的好方法。

    你总是可以从你的学生或读者那里学到一些东西。

        13
  •  2
  •   rinogo    17 年前

    你的问题已经得到了很多很好的回答,但我觉得有一个建议被忽略了: 学习AS3/Flex!

    我的背景和你很相似,但我最近在一个项目中学习了AS3,到目前为止我一直很喜欢它。它与您使用过的其他语言(如Java)有着相同的“感觉”,但它允许强大的视觉/听觉应用程序,而不需要烦人的框架。AS3/Flex都经过了几次微调迭代,非常适合于相当快速的开发。

    无论如何,祝你玩得开心

        14
  •  1
  •   Sergey    17 年前

    我同意这个想法。这将是一个充满挑战和乐趣的项目。选择一种足够简单的语言。甚至可以自己设计:)

        15
  •  1
  •   Rob Wells    17 年前

    G'day,

    什么是开始编写一些片段以便在其他软件中重用?这样你就可以:

    • 不必在每次需要将此功能整合到主要软件中时都重新发明轮子,
    • 开始把它们传播开来,给自己取个名字。

    • 登录中
    • 从文件中读取配置

    所有这些,如果你已经编写好了,将使你在其他项目上的周转时间大大加快。功能也将在多个项目中保持一致。

        16
  •  1
  •   sal    17 年前

    我发现,在一个完全不同的环境中重写先前的项目是了解新环境和旧环境的好方法。

    在这两种情况下,我对C语言有了更多的理解。

        17
  •  1
  •   B0fh    17 年前

    你可以去实现自己的版本控制系统。。。
    它将需要大量的编码,并涵盖算法、协议、操作系统等不同方面。。

    您还可以尝试开发一个专家系统,使用AI做一些有趣的事情:)

        18
  •  1
  •   Captain Lepton    17 年前

    你似乎没有做太多的图形。如前所述,一款2D简单的物理/射击游戏,比如小行星游戏,一开始就很容易,测试起来也很有趣。

    甚至更好,可能更有用,那么图像编辑器呢?

        19
  •  1
  •   Jim Cooper    16 年前

    编写更多的代码并不能神奇地使您成为更好的开发人员。我的一些建议是:

    1. 较好的 密码例如,您对设计模式、重构、单元/自动测试和持续集成了解多少?

    2. 了解软件工程。你知道Scrum、精益、XP和其他敏捷实践吗?那么用例和用户故事,以及项目评估和管理呢?管理(和选择)一个团队也是一项完全不同的技能。你希望这成为你未来的一部分吗?

    3. 学会与用户交谈(实际上,这是敏捷技术的重要组成部分)。你的客户对他们需要的东西几乎总是错的。你如何跨越他们所想/所说的与他们实际需要你为他们构建的之间的鸿沟?通常在两个方向都存在通信问题:-)

    4. 用户界面设计。这比排列文本框和设置选项卡顺序要困难得多。对于我们大多数人来说,这是一门很难掌握的学科,并且有针对胖客户端、web应用程序、小型设备(手机、PDA等)等的分支。

    我相信其他人会想到我已经忘记的事情,但我的观点是,编写代码并不是我们作为开发人员所做的全部。很多时候,编写代码是最重要的 最小的

    推荐文章