糟糕程序员的一些迹象与补救方案
web前端开发
共 1990字,需浏览 4分钟
·
2022-07-09 16:04
英文 | https://javascript.plainenglish.io/signs-that-you-are-a-bad-programmer-dc1c647827d6
保留从未使用过的变量。 产生不相关的输出。 调用与目标无关的函数。 为了确定,多次执行幂等函数,如 save()。 通过编写一些覆盖错误代码的代码来修复错误。 不必要的价值转换,就像首先将十进制转换为字符串,然后再将字符串转换为十进制一样。
使用 IDE 自己的调试器作为助手。 检查变量更改前后的值。
不遵循 OOP 标准。 (OOP) 在未实例化的类中调用非静态函数/变量。 (OOP) 编写了许多这样的“XXXXManager”类,其中包含用于操作对象字段的所有方法,只有很少的方法或没有自己的方法。 将关系数据库视为对象存储。 在客户端代码中执行所有连接和关系强制。 创建同一算法的多个版本来处理不同的类型。 设置单个值(在命令式代码中)而不是使用数据绑定。
这不是一天就能克服的,你需要练习,练习,更多的练习。 文档阅读,如果你不了解该语言的架构或 OOP 基础知识,请花时间更好地理解。 遵循高级程序员的代码。
写不必要的 IsNull() 或 IsNotNull() 或 IsTrue(bool) 或 IsFalse(bool) 函数。 检查布尔类型变量是否不是真或假。 多次调用相同的函数以确认它执行。
不要从具有弱类型系统的语言中继承不必要的旧习惯。 对你的逻辑充满信心,如果逻辑有问题,请尝试新的逻辑。
可以递归解决的问题的复杂迭代算法,就像遍历文件系统树一样。 在递归调用之前和之后检查基本条件。 不测试基本条件的递归函数。 连接/求和到全局变量或携带输出变量的递归子例程。
分几个步骤运行代码以了解流程,它可能会发生一些堆栈溢出,但别担心。 更改基本条件以查看输出。 你的目标是对你在哪里以及你在做什么有信心和完整的感觉。
在没有内置于语言中的基本机制(例如事件和处理程序或正则表达式)的情况下进行重新发明。 重新发明框架中内置的类和函数。 而不是搜索解决,或者通过论坛发布消息以求帮助。 即使新技术在这些情况下更好,也要坚持使用老式技术。 与其寻找一个直接的解决方案,不如通过编写“Roundabout 代码”使其复杂化,以在许多步骤中完成可以用更少的代码完成的事情。
这项技能需要时间来建立,所以不要着急。 当你遇到问题时,不要去找程序员或直接复制粘贴代码。慢慢来,阅读文档。
缺乏区分方法调用中按值传递和按引用传递的知识。 未能实现链表。 错误地对指针执行算术运算导致无法找到或修复错误。 无法编写在不丢失或删除数据的情况下从链表或树中插入/删除节点的代码。 制作指针的副本,通过副本更改取消引用的值,然后认为原始指针仍指向旧值。
指针很容易理解,但由于缺乏实践而经常被误解。
学习更多技能
请点击下方公众号
评论