在处理不同的项目、与不同的人并使用不同的框架时,您通常很难使您的代码符合他们的约定。一些团队对命名变量/方法/类和其他事情非常严格,而其他团队则围绕该主题进行圣战。我理解他们,我完全支持,但作为任何开发人员,我有自己的偏好,我希望我能舒适地编码。这让我思考是否有一个简单的解决方案。
是否有任何工具或编辑器可以自动转换代码以遵循不同的标准?我想不可能有这样的智能工具来支持命名转换,所以我可以接受,但我真的希望看到
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 中使用快捷方式对其进行转换,但它会很棒。
所以我想要定制的东西是
- 括号之间的空格
- 制表符/空格和每个制表符的空格
- 行尾或新行上的小胡子括号
- 始终将胡须括号附加到任何 if/ifelse/else/for/foreach 等。
任何人都会欣赏的一些额外内容:
- 行尾样式
- 删除行尾的多余空格(如 sublime text 2 可以在保存时执行,但对于其他 IDE/编辑器来说会很棒)
完美的工作流程应该是这样的:
- 我从 git 拉
- 代码转换为我的风格
- 我编码的东西
- 我承诺并推动
- 在一切都被推送(甚至提交)之前,代码被转换为约定风格
当然,有人可能希望不使用 git,然后在打开和保存文件后将其简单地转换,但据我所知,在 IDE/编辑器之外使用某种工具是不可能的。
有人偶然发现了类似的东西吗?除了制表符/空格转换之外,在任何地方都找不到任何东西。
PS 我想提一下我正在使用 PHP/JS,所以它被优先考虑,但我在业余时间使用其他语言进行编码。