繁体   English   中英

自动转换编码约定

[英]Automatically converting coding conventions

当在不同的项目中,与不同的人员并使用不同的框架一起工作时,您通常会难以使代码符合其约定。 一些团队对命名变量/方法/类非常严格,而其他一些团队则围绕该主题进行了激烈的战争。 我理解它们并得到我的全力支持,但是作为任何开发人员,我都有自己的喜好,我希望我能舒适地编写代码。 这使我思考是否有一个简单的解决方案。

是否有任何工具或编辑器可以自动将代码转换为遵循不同的标准? 我认为没有这样的智能工具可以支持命名转换,所以我可以接受,但是我真的很希望看到

foreach($lala as $lalala) {

并不是

foreach($lala as $lalala)
{

语句也是如此:

if(I_LIEK_COOKIES) {
    eat_cookie();
} else {
    toss_cookie();
}

并不是

if ( I_LIEK_COOKIES ) {
    eat_cookie();
}
else
{
    toss_cookie();
}

(也请注意括号之间和周围的空格)

我什至不会提到空格/制表符,我可以在我的IDE中使用快捷方式对其进行转换,但它会很棒。

所以我想定制的东西是

  1. 括号之间的空格
  2. 标签/空格和每个标签的空格
  3. 行尾或新行上的小括号
  4. 务必将胡须支架连接到任何if / ifelse / else / for / foreach等。

任何其他人都会欣赏的附加功能:

  1. 行尾样式
  2. 删除行尾的多余空格(例如sublime text 2可以在保存时执行,但对其他IDE /编辑器来说非常有用)

完美的工作流程是这样的:

  1. 我从git拉
  2. 代码被转换成我的风格
  3. 我编码的东西
  4. 我承诺并推动
  5. 在一切都被推送(甚至提交)之前,代码已转换为约定样式

当然,有些人可能不希望使用git,然后在打开文件和保存文件后会简单地对其进行转换,但是据我所知,使用某种工具无法在IDE /编辑器之外进行操作。

有人偶然发现这样的东西吗? 除了制表符/空格转换之外,其他任何地方都找不到。

PS我想提一下,我正在使用PHP / JS,因此它具有优先级,但是我在业余时间使用其他语言进行编码。

您可以将配置(例如vim .vimrcs,Eclipse首选项等)存储在每个项目的版本控制存储库中。

但是 ,我认为有一个大问题。 向/从存储库推入/拉出时转换代码。 如果有人报告您的代码有问题(例如,第100行的异常),那么从存储库中提取代码时转换代码将为您提供不同的第100行。我认为您实际上无法在不处理确切代码的情况下进行操作您的同胞正在合作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM