欢迎光临

木子屋

标题: 永远不要再犯的 5 个编程错误[转]

作者: dnawo

日期: 2013-07-18 11:01 PM

分类: 网络文摘

内容: 1.不加理解的拷贝代码
你经常会发现你需要的代码在一些别的程序里面有。整段的拷贝代码并且就这么使用它而不去烦恼于理解每一行代码是很诱人的。
有时候你拷贝的代码可能太大了以至于没有时间去完全理解它。如果你拷贝任何代码都像这样，就会有让你的程序变得脆弱易出 bug 等风险。
这样可能让工作完成，但是如果这段代码在某种情况下产生了一些意外的行为将会怎么样？如果使你的程序变慢或者有恶意行为将会怎么样？因此需要恰当的理解这些代码，或者需要绝对的确信你拷贝的代码的出处。
如果以后产生了 bug，你会发现很难理解这些代码，因为你从来没有写过它。甚至于你会发现很难去找出 bug 并且修复它，特别是如果拷贝了很多代码在程序的不同地方。
所以当拷贝代码的时候要小心，即使很少的代码。确保你完全理解它了。如果你以前用过一段代码并且可以百分之百的保证它可以工作，那么它是安全可用的。但是如果不是的话，就要当心了。
2.每次都从头开始
这和我之前说完全相反，但是这确实是初学者容易犯的另外一个错误。
也许你认为每次都从头开始会很好，但是实际上它浪费了太多资源–时间，精力和思维，你可以更好的在其他方面使用它们。
如果你需要的东西已经存在了，那么使用它们。不要反复重复最基础的东西。
你可以使用这些时间让你的应用在其他方面更加优秀。
如果一个 API、框架或者游戏引擎让你的任务更加轻松，你没有理由不适用它们。你的目标不是展示你有多么的优秀，也不是证明你可以独立完成任何任务。你的目标是保证你的应用完美工作，并且尽可能少花费一些资源去创造它们。
如果你这样做，你可以用更少的时间去完成同样地工作。时间就是金钱，即使是你为你自己工作，你也应该试着在同样的时间赚更多的钱。
3.没自己尝试就开始 Google
很多次，出于习惯，每次出现新的问题，你都会通过 Google 来找找解决方案。对于程序来说，这不是个好办法。如果你总是没有自己试一试就通过外部方法来搜索答案，那么你的思维永远都不会受到挑战。
当你的思维停止挑战，你自身的编程技能就会停止增长。把你自己的任何技能都练得很棒，你就可以自己解决问题，这也适用于程序开发。
你是创建一个已经存在的东西，你从来不进行原创。这真是你想要做的吗？
搜寻存在的解决方案看起来很聪明，但是这会蒙蔽你的双眼，你的懒惰会阻止你成为一个好的程序员。如果你真的你想要搜寻一个解决方案，至少，开始的时候你在这个问题上先花一点时间思考一下。
也许你自己不花多少时间就能解决掉它。也许你会有比其他人更好的解决它。也许你的解决方案比其他人的更加精确。
如果你不尝试，你永远都不知道。
4.忽略警告
这是一个早期我进行程序开发时犯的另一个错误。我不能告诉你当你的程序中出现几百个警号和一次都不出现有什么大的不同-最重要的是忽略掉它就出现新的问题。
警告通常是你做的东西可能不是每次都能正常工作的一个标志。有时，忽略这些警告会造成很大的安全问题。但是真正的问题通常是出现在程序出现几百个警告，或者程序不能正常工作时。
很难确定到底是什么原因造成了那个错误，你必须花更很多的时间来分析每一个警告来找出造成问题发生的根本原因。相反，你可以在警告发生的时候就处理掉它。
通常你仅仅需要使用正确的变量或者正确的函数来处理这些警告。不会花你几小时，只需要几分钟遇到它们就把它们处理掉。
要尽早的处理警告。干净的代码看起来舒服工作起来也会很高。记住- 对待警告和对待错误一样 .
5.快速修复而不是永久性解决
是的，我对这样做感到愧疚。我不为此而自豪。但通常，我们仅仅是草草的修复一下，很少会去从根本上解决这个问题。
它能正常工作了，问题也处理掉了。但是如果你一不小心，问题又会以不同的方式重新出现。
无论你怎么修复一个问题，都应确保你不会把整个系统破坏掉。修复应该提升整个系统的运行状况，而不是让它更慢或更笨重。
同时，进行一个修复要能永久性的解决这个问题。要长期，不要短期。有时，由于懒惰和无知，我们通常喜欢快速的把问题解决掉，而不想在上面花太多时间。这就是为什么我们的写的代码能正常的工作，但是却不是在所有情况下都能工作。
如果你在工作的时候把它忽略掉，你会在后面花更多的时间。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.518 ms

返回

标题: 永远不要再犯的 5 个编程错误[转]

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.518 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.533 ms

返回