V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
barbery
V2EX  ›  问与答

请教下,如果想写个类似 gocode 这样的 PHP 代码格式化程序,正确的做法是怎么样?我现在的做法是用 PHP 内置的 token_get_all 把代码打散再按照预定规则来重组代码。。。不过这个工作量貌似不少啊,要处理的条件很多。

  •  
  •   barbery · 2014-11-25 11:15:21 +08:00 · 3811 次点击
    这是一个创建于 3652 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2014-11-25 20:38:01 +08:00
    Comdex
        1
    Comdex  
       2014-11-25 11:42:13 +08:00
    我想知道java怎么做?
    mahone3297
        2
    mahone3297  
       2014-11-25 11:48:25 +08:00
    php已经有自己的规范了,所以按照规范来做,不用自己定义coding style
    用这个工具 https://github.com/FriendsOfPHP/PHP-CS-Fixer
    barbery
        3
    barbery  
    OP
       2014-11-25 11:58:46 +08:00
    @mahone3297 这个工具格式化得不是很完善,像定义变量块的 = 号对齐,去掉多余空格,array对齐都貌似没办法做得到
    learnshare
        4
    learnshare  
       2014-11-25 12:03:21 +08:00
    @barbery 你说的这些细节不是格式化完善不完善的问题,是格式化条件(开关)。
    mahone3297
        5
    mahone3297  
       2014-11-25 12:35:30 +08:00
    @learnshare
    居然还有开关。。。

    @barbery
    格式化的差不多就好了。。。我觉得没必要太格式化吧。。。大致风格统一,就蛮赞的了。。。
    learnshare
        6
    learnshare  
       2014-11-25 13:15:28 +08:00
    @mahone3297 我是说这些对齐之类的功能算是额外参数(如果有的话),不是核心功能
    barbery
        7
    barbery  
    OP
       2014-11-25 20:38:01 +08:00
    搞错。。。原来格式化的go的是gofmt。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.