gpt4 book ai didi

PHP(几个问题)OO,重构,eclipse

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:00 25 4
gpt4 key购买 nike

我在 eclipse 中使用 PHP。它工作正常,我可以连接到我的远程站点,有代码元素的颜色编码和一些代码提示。

我意识到这可能太长了,无法回答所有问题,如果您对其中一部分有很好的回答,那么只回答那个就可以了。

首先是通用编码

  1. 我发现这很容易包含文件的松散跟踪和他们的变量。例如,如果有一个数据库 $cursor 它是难以记住甚至不知道它被宣布在包括文件(这变得更糟您包含的更多文件)。如何处理这个问题的人?

  2. 人们如何记录他们的代码 - 特别是所需的GET 和 POST 数据?

其次OO开发:

  1. 我应该在我的系统中完全面向对象吗?发展。目前我有一个我可以的函数库包括并分开每个“任务”到一个单独的文件。它是一个有点讨厌,但它有效。

  2. 如果我转向面向对象,我该如何构建PHP 中的目录,java 使用包 - php 呢?

  3. 我应该如何命名我的文件?将所有小写字母与 _ 一起用于空格“hello_world.php”?我应该命名吗像 Java 一样大写的类“HelloWorld.php”?有没有不同的命名约定类和常规函数文件?

第三次重构

  1. 我必须说这是一个真正的痛苦。如果我更改了变量的名称一个地方我必须经历整个文档和包含的每个文件这个文件并改变他们的名字也。当然,错误无处不在是什么结果。人们怎么样处理这个问题?在 java 如果您在一个地方更改名称它无处不在。

  2. 有没有什么插件可以改进php重构?我正在使用Eclipse 官方 PHP 版本来自他们的网站。

谢谢

最佳答案

首先是通用编码

1) OO 可以帮助您。当您封装变量和功能时,它们不会外出并扰乱命名空间。假设我理解你暗示的问题是什么,使用 OO 方法有助于缓解当你无意中重新声明变量时可能出现的冲突。 (注意:缓解。不能完全自行预防。;))否则,我遇到的一种做法是在变量名前加上“包名”之类的东西——这只会将问题上移一个级别,而且也不是很漂亮。 :|

2) “但是​​适合他们的目的”。 PHPdoc 是一个好的开始;将有助于创建 API 文档。

其次面向对象开发:

3) 如前所述——“视情况而定”。在需要的时候做。您不必为了“hello world”而完全面向对象。但是你可以。权衡任何一条路线的成本和 yield ,然后明智地选择。尽管我个人想在有疑问时建议 OOP 优于“非结构化”方法。基本上,了解您的工具以及何时使用它们——然后您就可以轻松地自行做出决定。 :)

4) 据我所知,目录“的结构类似于包”。请注意,“目录”和“喜欢”。话虽如此,各种框架已经自行解决了这个问题。比照;其他答案。

5) 同样,随心所欲。没有一个明确的方法,你必须这样做或否则。一旦你选择了你的道路就坚持下去;3除此之外,某些框架等有自己的命名约定。例如,Symfony 像 Java 一样使用 CamelCase。

第三次重构

I must say this is a real pain.

是的:3 但它是有返回的。

If I change the name of a variable in one place I have to go through whole document and each file that included this file and change the name their too. Of course, errors everywhere is what results. How are people dealing with this problem? In Java if you change the name in one place it changes everywhere.

不,它没有。如果您获得了支持的工具,您只需使用一次重构工具;但是,如果您在 Java 中重命名一个类属性,则没有神奇的机器人可以通过互联网自动确保地球上的每个人都使用新名称。 ;)

但至于如何预防它——要聪明。遵守程序契约(Contract),即使用接口(interface)。不要使用你不应该直接使用的函数/成员。观察层次结构。使用合理的代码划分并尊重该划分的边界。

但是人们如何处理这个问题呢?好吧,我想搜索并替换 ;)

至于 Eclipse 插件——PHP 的动态特性使得自动重构代码变得更加困难;我们不能总是使用静态类型提示等,而且参数和返回类型的占卜往往是不可能的。因此,据我所知,“自动重构”不像在 Java 世界中那样得到工具的良好支持。尽管我确定可行的情况,但应该有插件。 :)

关于PHP(几个问题)OO,重构,eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com