草庐IT

php - 重构困境 : User Account Functionality in PHP

我正在用PHP编写一个用户帐户系统,重点是安全性,但我一直坚持将其重构为更简洁、更有用的东西。问题是试图将用户帐户功能组合在一起,但在不同的类中。我现在这样做的方式是,有一堆带有公共(public)静态方法的类都将$username作为第一个参数,并且它们使用其他静态方法,也将相同的$username作为第一个参数传递。显然,OOP是一种更好的方法,特别是因为每个方法都必须strtolower用户名才能进行数据库查询,并且必须处理提供的用户名根本不存在的情况。将所有内容都放在“User”类中的问题是它会很大,并且在同一个文件中会有很多完全不相关的代码。例如,更改密码代码不需要调用与验证

PHP重构工具

Thisquestionalreadyhasanswershere:ToolsforPHPcoderefactoring[closed](15个答案)7年前关闭。我发现为PHP找到一个体面的重构工具有多么困难,这真令人惊讶。你们用什么(我怎么能得到)?谢谢!!编辑:我在Linux上,但Windows建议会帮助Google员工 最佳答案 确实确实缺少用于PHP的重构工具。我发现自己一直在使用一次性正则表达式来进行重构。thisquestion的答案阐明了为什么很少有重构PHP的工具。 关于

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

我在eclipse中使用PHP。它工作正常,我可以连接到我的远程站点,有代码元素的颜色编码和一些代码提示。我意识到这可能太长了,无法回答所有问题,如果您对其中一部分有很好的回答,那么只回答那个就可以了。首先是通用编码我发现这很容易包含文件的松散跟踪和他们的变量。例如,如果有一个数据库$cursor它是难以记住甚至不知道它被宣布在包括文件(这变得更糟您包含的更多文件)。如何处理这个问题的人?人们如何记录他们的代码-特别是所需的GET和POST数据?其次OO开发:我应该在我的系统中完全面向对象吗?发展。目前我有一个我可以的函数库包括并分开每个“任务”到一个单独的文件。它是一个有点讨厌,但它

php - 重构具有父/子关系的 n 级数组 (PHP)

我想重组一个数组,stuckoverflow上的一些解决方案帮助我使其“适合”第一级项目,但您会注意到该数组是n级深度。restructure()方法没有递归使用(它应该是)。它可能完全错误,并且不知道如何改正。children键表示存在具有相应ID的子项,parent键将项目链接到父ID。classFilterMenu{protected$tree=array();staticprotected$structure=array();publicfunction__construct(array$tree){$this->tree=$tree;}publicfunctiongetStr

java - 重构 JSP 中的 EL 表达式

我有许多带有EL表达式的JSP文件,格式为${foo.bar.baz.phleem1}、${foo.bar.baz.phleem2}等.(前两段或三段相等)。为了减少EL查找,我正在重构这些页面:来源:重构后:我知道我可以通过搜索/替换来完成大部分工作,但感觉不安全,因为它忽略了代码结构。Eclipse或IntelliJIdea是否支持此类重构? 最佳答案 也许你可以在emacs中使用nxml-mode。(我没有测试过)有一些功能,如nxml-up-element。我打赌你可以创建一个强大的宏。但我认为grep代码并手动执行更容易。

java - 编写自定义重构脚本的最佳 Java 库是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我打算对大型项目进行复杂的重构,默认的ide功能是不够的。如果可能,还请提供教程链接。语言:java、xml我谈java重构的programmaticapi示例我在项目中创建了新的api,我想自动折射一些代码以使用它,即ast树的源到源转换

java - 重构具有大量级别之间依赖关系的内部循环

我有以下伪代码using(somewebservice/disposableobject){list1=service.get1();list2=service.get2();for(item2inlist2){list3=service.get3(dependingonitem2);for(item3inlist3){list4=service.get4(dependingonitem3andlist1);for(item4inlist4){...}}}}整个代码有500行,其中包含for语句中的大量逻辑。问题是将其重构为可读和可维护的代码,并作为类似情况的最佳实践。以下是我目前找到

java - 用于查找 Java/Javascript 的类似重复源代码的自动重构工具?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion我正在寻找一种工具来查找Java/Javascript的重复或相似代码。我无法说出“similar”的确切定义,但我希望该工具足够智能,并给我重构代码的建议,例如,(1)A类和B类具有相似的方法(例如,有5个方法具有相同的方法名称、参数和相似的实现出现在两个类中),那么建议将这些相似的方法移动到基类中。(2)A类在不同地方多次出现相似的代码行,工具应该建议将这些相似的

java - Eclipse Web 工具项目是否处理 JSP 内部的重构?

我已经为Eclipse版本3.4安装了Web工具项目。我一直在努力让重构按照我认为应该的方式进行,但没有成功。我有一个Java项目,其中包含jar的Java类,该jar被放入网站的/WEB-INF/lib中。另一个项目(动态Web项目)具有同一站点的JSP文件。DynamicWeb项目与Java项目一起设置为构建路径中的必需项目。我还为动态Web项目设置了项目引用选项以引用Java项目。如果我使用重构来更改其中一个Java类中的方法名称,我希望JSP中对该方法的引用将被重命名。但它不起作用。包含该类的Java项目中的引用以及使用该类的引用已更改的其他Java项目将被重构,但对JSP内部

java - 你如何重构@Transactional 方法来拆分非事务部分

我有一个作为独立Java应用程序的一部分运行的数据访问类。它目前正在工作,这意味着定义了一个事务管理器,但我想重构该类以减少事务的范围,但如果我这样做,我会得到org.hibernate.HibernateException:NoHibernateSessionboundtothread,andconfiguration不允许在此处创建非事务性,这意味着移动@Transactional以某种方式阻止了它被识别。我的原始版本的重构方法是私有(private)的,但我发现有人建议将其更改为公开的,因为在某些情况下注释不会被提取。publicclassDoStuff{@Transaction