java吧 关注:1,234,605贴子:12,704,647
  • 19回复贴,共1

编写晦涩代码的十个建议

只看楼主收藏回复

编写晦涩代码的十个建议


来自iPhone客户端1楼2017-07-31 19:51回复
    为什么要编写晦涩的代码呢?理由太多了。闲得**,无聊,心情不好,来大姨妈了,来大姨父了。我能找出无数个理由,但最好的理由是,水帖。本文纯属娱乐,如有应用,后果自负。


    来自iPhone客户端2楼2017-07-31 19:54
    回复
      前言
      能写出一手晦涩的代码,是每个码农的追求。何为晦涩?那就是要让读者穷思极想,欲罢不能。最后吞键自尽。本文力图给出几个浅显的建议,也欢迎大家补充。
      所谓晦涩的代码,绝不是烂代码。它不以用户感知为基础。功能正常,测试通过,性能优秀。具体可以见我的另一篇文章《重构,改坏既有代码的设计》。废话不说,开撸。


      来自iPhone客户端3楼2017-07-31 20:01
      回复
        1,多用goto
        某些语言,提供了大名鼎鼎的goto,这是解救程序员的一份良药。当你熟练的使用它,你会不可自拔的爱上它。会在每个可以使用的地方忍不住带上它的靓影,就如初恋般让人回味。
        基于goto 的万用性,几乎所有的流程结构都可以用goto代替。赶紧把你的for while 函数调用 用伟大而全能的goto 替换吧。


        来自iPhone客户端4楼2017-07-31 20:11
        收起回复
          怕是要提刀相见


          IP属地:上海来自Android客户端5楼2017-07-31 21:27
          收起回复
            2,善用位运算
            曾经我见到过一份十分诡异的代码。这个哥们在代码直接用位运算写 x += 128,理由是优化性能。这份代码最后被编入公司教材。
            看到这,相信大家已经打开了另一扇大门。假如代码中全都是各种移位 xor ,相信看代码的同事一定有翻江倒海的眩晕感。当把x+y这样平淡无奇的算式换成x^y x&y << 1,代码瞬间有了big。


            来自iPhone客户端6楼2017-08-01 09:19
            收起回复


              IP属地:广东来自Android客户端7楼2017-08-01 09:34
              回复
                老哥稳


                IP属地:辽宁来自Android客户端8楼2017-08-01 09:55
                回复
                  快点更,11级大佬


                  IP属地:广东9楼2017-08-01 10:01
                  回复
                    楼主被同事群殴,此贴终结


                    IP属地:上海来自Android客户端10楼2017-08-01 11:51
                    收起回复
                      不用这么麻烦吧 直接把代码混淆 再提交就好了。


                      IP属地:湖北11楼2017-08-01 20:52
                      收起回复
                        3,把代码写到注释里
                        如果上面的玩法还不够有新意,你可以试试一种另类玩法。
                        在c# 中,可以使用CSharpCodeProvider 在运行时动态编译执行string 中的代码。看到这,没错,我要把代码写到注释里。让你望断天涯无寻处。 同理,你还可以把代码写到文档里,写到系统文件里,写到博客里(用网络远程调用)。,我想,当接收的人看到代码里全是各种等待填充的标签,他会大吼一声。怎么不按套路出牌啊。。


                        来自iPhone客户端12楼2017-08-01 20:52
                        回复
                          4,消除程序中的if
                          前面我们已经用goto消除程序中的for while了。是时候向if开炮了。
                          如何消除if 呢,不同的语言有不同的玩法。if 的本质只是一种状态转换。在python 中,if else 结构可以用bool 运算替换。就像图片。
                          赶紧写一个没有一个if 的程序吧。让代码阅读者淹没在无数的括号和bool运算中。


                          来自iPhone客户端13楼2017-08-01 21:00
                          回复