问题列表 - 第863页

如何以编程方式识别使用C#的方法引用的数量

我最近继承了需要修剪和清理的C#控制台应用程序.简而言之,该应用程序由一个包含超过110,000行代码的类组成.是的,一个班级超过110,000行.而且,当然,该应用程序是我们业务的核心,运行'全天候更新动态网站上使用的数据.虽然我被告知我的前任是"一个非常优秀的程序员",但显然他根本没有进入OOP(或版本控制).

无论如何......在熟悉代码的同时,我发现了许多声明的方法,但从未引用过.看起来好像使用了复制/粘贴来对代码进行版本化,例如说我有一个名为getSomethingImportant()的方法,很可能还有另一个名为getSomethingImortant_July2007()的方法(在大多数情况下,模式是functionName_ [datestamp]).看起来当程序员被要求对getSomethingImportant()进行更改时,他会复制/粘贴然后重命名为getSomethingImortant_Date,对getSomethingImortant_Date进行更改,然后将代码中的任何方法调用更改为新方法名称,将旧方法保留为代码但从未引用过.

我想编写一个简单的控制台应用程序,它可以遍历一个巨大的类,并返回所有方法的列表,其中包含每个方法的引用次数.根据我的估计,有超过1000种方法,所以手动这样做需要一段时间.

我可以使用.NET框架中的类来检查此代码吗?或者任何其他有用的工具,可以帮助识别声明但从未引用的方法?

(旁边的问题:有没有其他人见过像这样的C#应用​​程序,一个大的类?它或多或少是一个巨大的程序过程,我知道这是我见过的第一个,至少是这个大小.)

c# refactoring

5
推荐指数
2
解决办法
1991
查看次数

如何找出ArrayList <Object>中每个对象的类型?

我有一个ArrayList,由从db导入的不同元素组成,由字符串,数字,双精度和整数组成.有没有办法使用反射类型技术来找出每个元素包含的每种类型的数据?

仅供参考:有这么多类型数据的原因是这是一段用不同的数据库编写的java代码.

java generics reflection arraylist

87
推荐指数
6
解决办法
26万
查看次数

使用许可证文件保护DLL文件

使用许可证文件保护DLL的使用/加载的最佳方法是什么?

c++ dll licensing

14
推荐指数
1
解决办法
9515
查看次数

在Java中以zip方式添加非ASCII文件名

使用Java非ASCII文件名添加到zip文件的最佳方法是什么,这样可以在WindowsLinux中正确读取文件

这是一个改编自https://truezip.dev.java.net/tutorial-6.html#Example的尝试,它在Windows Vista中运行但在Ubuntu Hardy中失败.在Hardy中,文件名在文件夹中显示为abc-ЖДФ.txt.

import java.io.IOException;
import java.io.PrintStream;

import de.schlichtherle.io.File;
import de.schlichtherle.io.FileOutputStream;

public class Main {

    public static void main(final String[] args) throws IOException {

        try {
            PrintStream ps = new PrintStream(new FileOutputStream(
                    "outer.zip/abc-åäö.txt"));
            try {
                ps.println("The characters åäö works here though.");
            } finally {
                ps.close();
            }
        } finally {
            File.umount();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

与java.util.zip不同,truezip允许指定zip文件编码.这是另一个示例,这次明确指定编码.IBM437,UTF-8和ISO-8859-1都不适用于Linux.IBM437适用于Windows.

import java.io.IOException;

import de.schlichtherle.io.FileOutputStream;
import de.schlichtherle.util.zip.ZipEntry;
import de.schlichtherle.util.zip.ZipOutputStream;

public class Main { …
Run Code Online (Sandbox Code Playgroud)

java zip encoding

19
推荐指数
5
解决办法
2万
查看次数

C# - 可以隐藏公开继承的方法(例如,对派生类进行私有)

假设我有公共方法A和B的BaseClass,我通过继承创建DerivedClass.

例如

public DerivedClass : BaseClass {}
Run Code Online (Sandbox Code Playgroud)

现在我想在DerivedClass中开发一个使用A和B的方法C.有没有办法可以在DerivedClass中将方法A和B重写为私有,这样只有方法C才会暴露给想要使用我的DerivedClass的人?

c# class derived

56
推荐指数
5
解决办法
4万
查看次数

是否可以在bash脚本中检测32位与64位?

我正在写一个bash脚本以自动方式处理一些安装...我有可能得到32或64位二进制的一个这样的程序...是否有可能从bash检测机器架构,所以我可以选择正确的二进制?

这将适用于Ubuntu机器.

bash

69
推荐指数
6
解决办法
4万
查看次数

在PHP中验证传入的SOAP请求到WSDL

内置PHP的扩展SOAP不验证传入一切SOAP反对该请求XML SchemaWSDL.它确实检查了基本实体的存在,但是当你有像复制这样复杂的东西时simpleType,扩展几乎忽略了它们的存在.

验证包含在内的SOAP请求的最佳方法XML SchemaWSDL什么?

php xsd soap wsdl

10
推荐指数
1
解决办法
1万
查看次数

可以Spring解析和注入属性文件吗?

我已经知道如何:

使用以下命令将属性文件加载到Spring配置中

<context:property-placeholder location="aaa/bbb/ccc/stuff.properties"/> 
Run Code Online (Sandbox Code Playgroud)

使用以下方法动态构建属性对象:

<props><prop key="abc">some value</prop></props>
Run Code Online (Sandbox Code Playgroud)

但我无法做到并且真正有用的是让Spring加载一个属性文件,然后构建匹配的属性对象.然后我可以正常方式将它注入bean中.

我在其他地方搜索过这个但没有成功.有任何想法吗?

java spring configuration-files

12
推荐指数
1
解决办法
2万
查看次数

GNU autotools的推荐版本是什么?

我们在工作中维护基于RPM的软件分发,以便我们在所有支持的平台上拥有一套通用软件.因此,我们必须构建许多第三方软件,并经常发现需要运行autoconf/automake/libtoolize/etc以使其在Solaris或其他平台上构建的情况.

我的结果非常复杂.看起来这些工具相当脆弱,并且文件通常仅适用于最初编写的autoconf/automake/etc版本.

理想情况下,我只想支持一个版本的GNU autotools,但我得到的印象是,我真的最终必须拥有每个版本的副本.

这是不寻常的,还是其他人有同样的问题?是否有一部分autotools版本可以涵盖所有案例?

c c++ unix gnu autotools

1
推荐指数
1
解决办法
328
查看次数

调试C++宏有一个很好的通用方法吗?

通常,我偶尔会有一系列嵌套宏,其定义中包含一些预处理器条件元素.这些可能很难调试,因为很难直接看到正在执行的代码.

前一段时间我依稀记得找到一个编译器(gcc)标志来扩展它们,但是我在实践中遇到这个问题很困难.

c++ debugging macros gcc

13
推荐指数
3
解决办法
2823
查看次数