程序员|程序员不知道自己的缺点,你怎么能改正?


程序员|程序员不知道自己的缺点,你怎么能改正?

文章图片


程序员|程序员不知道自己的缺点,你怎么能改正?

不要误会我的意思 。 我不想让你难过 。 我有这些迹象 , 我努力提高自己 。 如果你不知道自己的缺点 , 你怎么能改正它们呢?我们需要有人告诉我们这些事情 , 但大多数程序员没有那个人 。
大多数时候 , 我们知道我们应该做什么 , 但我们不去做 。 我们认为我们可以稍后再做或改正 。 但“以后”永远不会到来 。 这是一个懒惰的程序员的常见标志 , 也是成为一个糟糕的程序员的第一步 。

程序员
不明白代码的目标在编写代码之前 , 您必须了解代码的用途 , 您的代码将做什么 。 这就像在你的脑海中运行代码一样 。
症状

  1. 保留从未使用过的变量 。
  2. 产生不相关的输出 。
  3. 调用与目标无关的函数 。
  4. 为了确定 , 多次执行幂等函数 , 如何 save() 。
  5. 【程序员|程序员不知道自己的缺点,你怎么能改正?】通过编写一些覆盖错误代码的代码来修复错误 。
  6. 不必要的价值转换 。 就像首先将十进制转换为字符串 , 然后再将字符串转换为十进制一样 。
补救措施
  1. 使用 IDE 自己的调试器作为助手 。
  2. 检查变量更改前后的值 。
对语言架构的理解不足面向对象编程是一种编程模型 , 函数式或声明式编程也是如此 。 它们不同于过程式或声明式编程 。 当程序员从一种架构迁移到另一种架构时 , 他们会感到困惑 , 这很正常 。 但随着时间的推移 , 你必须对那个架构有更好的理解 。

代码
症状
  1. 不遵循标准 OOP 。
  2. (OOP) 在未实例化的类中调用非静态函数/变量 。
  3. (OOP) 编写了许多“XXXXManager”类 , 其中包含用于操作对象字段的所有方法 , 只有很少的方法或没有自己的方法 。
  4. 将关系数据库视为对象存储 。
  5. 在客户端代码中执行所有连接和关系强制 。
  6. 创建同一算法的多个版本来处理不同的类型 。
  7. 设置单个值(在命令式代码中)而不是使用数据绑定 。
补救措施
  1. 这不是一天就能克服的 。 你需要练习 , 练习 , 更多地是练习 。
  2. 文档阅读 。 如果您不了解该语言的架构或者 OOP 基础知识 , 请花时间更好地理解 。
  3. 遵循高级程序员的代码 。
不信任自己的代码当你的逻辑很差时 , 你会感到困惑 , 并且会不信任自己的代码 。
症状
  1. 不必要的编写 IsNull() 或 IsNotNull() 或 IsTrue(bool) 或 IsFalse(bool) 函数 。
  2. 检查布尔类型变量是否不是真或假 。
  3. 多次调用相同的函数以确认它的执行 。
补救措施
  1. 不要从具有弱类型系统的语言中继承不必要的旧习惯 。
  2. 对你的逻辑充满信心 。 如果逻辑有问题 , 请尝试新的逻辑 。
陷入递归陷阱递归的想法很棘手 , 但并不难 。 但是许多程序员害怕递归 , 就像幽灵一样 。 递归将使代码更简洁高效 。 递归就像梯子 。 你只需要想象“你在哪里”和“基地在哪里” , 以及你将如何上台或下台 。
症状
  1. 可以递归解决问题的复杂迭代算法 。 就像遍历文件系统
    一样 。
  2. 在递归调用之前和之后检查基本条件 。
  3. 不测试基本条件的递归函数 。
  4. 连接/求和到全局变量或携带输出变量的递归子例程 。
补救措施
  1. 分几个步骤运行代码以了解流程 。 它可能会发生一些堆栈溢出 。 但别担心 。
  2. 更改基本条件以查看输出 。
  3. 你的目标是对你在哪里以及你在做什么有信心和完整的感觉 。
研究能力不足现代框架和语言具有令人惊叹的内置命令和功能的广度和深度 。 知识如此之多 , 以至于一个好的程序员需要几年以上的时间来消耗 。 但是一个好的程序员总是在开始滚动他们自己的函数之前搜索一个内置函数 。