什么时候代码是黑客?
人们似乎将黑客定义为解决问题的丑陋编码,但与编写混乱的代码有什么不同。
编码错误的问题与破解程序员心态的问题之间的唯一区别是什么?
当我说hack时,我的意思是在编程/开发意义上而不是非法意义。
答案 0 :(得分:5)
hack是您编写的一段代码,用于克服技术缺陷,例如编程语言,通信协议,硬件或其他程序员的错误。你通常会将你的代码标记为黑客,让其他人知道如果你没有这个限制,你可以用“正确”的方式完成它。
话虽如此,它经常被误用,只是指代程序员懒得以“正确”方式执行,或者代码似乎适用于他们设计的代码,但它们不是确定无意的后果。例如:如果代码设计不当,他们可能会“破解”代码,并且他们不了解对整个系统真正做出的改变。这不是真正的黑客攻击,只是缺乏理解。
答案 1 :(得分:0)
黑客攻击是一种丑陋的解决方案,它可以在文档齐全,格式完美的代码中实现,并且具有精美命名的变量以及所有这些。正如他们所说,你可以在猪身上涂上口红,但它仍然是猪。
另一方面,你也可能有一个凌乱,难以阅读的漂亮算法的实现。选择不当的名称,糟糕的格式和糟糕的文档使代码难以理解,但潜在的想法可能仍然是合理的。这种东西不是猪的口红,它是粗糙的钻石。
答案 2 :(得分:0)
黑客意味着程序员正在以一种不是为其设计的方式使用系统。要进行黑客攻击,系统必须采用明确的方式进行设计。然后黑客违反了这种设计。
丑陋的编码通常意味着没有明确的设计来破解。如果它和周围的代码一样丑陋,那么它就不再是黑客了。
通常,黑客攻击是程序员有意纠正的快速而肮脏的解决方案。丑陋的编程有一种永远不会得到修复的方法。