在网站周围遇到代码高尔夫琐事之后,显然人们试图找到在字符,线条和总大小方面尽可能短的编写代码和算法的方法,即使这意味着写下这样的东西:
//Code by: job
//Topic: Code Golf - Collatz Conjecture
n=input()
while n>1:n=(n/2,n*3+1)[n%2];print n
Run Code Online (Sandbox Code Playgroud)
所以作为初学者,我开始怀疑尺寸是否真正重要:D
这显然是一个非常主观的问题,高度依赖于所使用的实际代码,但现实世界中的经验法则是什么.
在尺寸不重要的情况下,那么我们怎么不关注性能而不是尺寸呢?
Yuv*_*l F 18
我希望这不会成为一场火焰战争.好的代码有很多属性,包括:
代码的简洁性在21世纪的编程中并不重要.在记忆非常稀缺时,它更为重要.对于引用上述属性的书籍,请参阅此问题,包括我的答案.
关于什么是重要而不是重要的,已经有很多好的答案.在现实生活中,(几乎)没有人编写像代码高尔夫,缩短的标识符,最小的空白和尽可能少的语句等代码.
也就是说,"更多代码"确实与更多错误和复杂性相关联,"更少代码"往往与更好的可读性和性能相关联.所以在所有其他条件相同的情况下,争取更短的代码是有用的,但仅在"这些简单的30行代码与100条复杂的代码行相同"的意义上.
编写"代码高尔夫"解决方案往往与显示你是如何"聪明"地以最简洁的方式完成工作,即使以牺牲可读性为代价.然而,通常,更详细的代码(包括例如功能结果的记忆)可以更快.代码大小对性能很重要,较小的代码块可以适合L1 CPU高速缓存,但这是优化的极端情况,更快的算法总是更好."Code Golf"代码与生产代码不同 - 如果任何人(包括您自己)打算再次阅读该代码,则始终为解决方案的清晰度和可读性而不是简洁性而写.