我最近被要求更新旧的Access Forms应用程序.来自.NET背景,我发现变化令人恐惧,并且变得有点不舒服.我以为这些都是传统技术,很快变得不合时宜......
我错了吗?如果是这样,继续使用这项技术的原因是什么(除了避免将旧应用程序移植到.NET的成本)?
我准备在这个可怕的旧的Java网络应用程序上做一些工作,我的朋友刚才继承了.
在我设置了tomcat,导入的项目以及所有这些到我的eclipse工作区之后,我得到了这个错误,即servlet中的方法超过了65536字节的限制.
该方法可能会超过该限制,它是几千个位置.但问题是,我之前在这个应用程序上工作而没有收到此错误,并且根据提交日志,从那时起没有向servlet添加任何代码.
是不是因为这次我正在研究macbook?上次我在应用程序上工作时,我使用了带有ubuntu的HP桌面.不同的java版本,cpu架构?这甚至可能吗?
除了重构代码之外,还有什么可以做的吗?
我正在使用Cent OS 5.
它已安装旧版程序包.
我应该编译什么版本的gcc?
是否真的需要使用旧的gcc版本来编译以支持旧的linux操作系统?
如果是,为什么?
嘿Stack Overflow研究员,
我需要你的帮助.几个月以来,我正在处理Ruby on Rails应用程序,它主要是Legacy.今天,我注意到代码库最奇怪的事情.有些文件虽然不是很多,但有重要的文件,包含几行最终的代码; 1.例如:Users.find(id); 1.这些后缀的出现不会产生任何形式的模式.有时会; 1出现在puts表达之后或表达之后,总会返回值,例如nil || 'default_value'; 1.
使用后缀是否有意义?这背后有什么理由吗?也许以前有一个工具可以使用Ruby代码并且; 1是注释的形式.我很乐意删除后缀,但我想确保它是100%安全的.
以下是在同一次提交中添加的项目的代码示例:
times = events.map{|x| [x.time, x.time_from_impression_id]};1
times = times.map{|x| (x.first - x.last) / 1.day}.sort;1
time_to_event_success = times[(times.length.to_f * 0.95).to_i]
events = events.select{|e| e.time_from_impression_id < time_to_event_success.days.ago};1
Run Code Online (Sandbox Code Playgroud) 这篇文章https://medium.com/@dmitryzaets/legacy-net-applications-configuration-management-net-framework-4-5-1-68220335d9d8描述了如何将选项模式与 Autofac 一起使用。我试图将其翻译为与 Simple Injector 一起使用。但我没有运气。这是我的国际奥委会代码
public class IocBootstrap2
{
private Container Container { get; }
public IocBootstrap2()
{
Container = new Container();
var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Configuration"))
.AddJsonFile("settings.json", optional: false, reloadOnChange: true);
var configuration = configurationBuilder.Build();
//Register Options
Container.Register(typeof(IOptions<>), typeof(OptionsManager<>));
Container.Register(typeof(IOptionsMonitor<>), typeof(OptionsMonitor<>));
Container.Register(typeof(IOptionsFactory<>), typeof(OptionsFactory<>));
Container.Register(typeof(IOptionsMonitorCache<>), typeof(OptionsCache<>));
// Register ConfigurationOptions
Container.RegisterConfigurationOptions2<MailingOptions>(configuration.GetSection("mailing"));
#if DEBUG
Container.Verify();
#endif
}
}
public static class ConfigurationSetupExtensions2
{
public static void RegisterConfigurationOptions2<TOptions>(this Container container, IConfiguration config)
where TOptions : class
{
container.Register(typeof(IOptionsChangeTokenSource<TOptions>), …Run Code Online (Sandbox Code Playgroud) configuration configurationmanager legacy-code simple-injector .net-core-configuration
我正在努力处理遗留代码(已安排重构,但我现在需要使用它),该代码的设备驱动程序旨在接受(argc, argv)其构造函数的参数。我必须使用的基类,目前我无法更改它,如下所示:
class LegacyDriver
{
public:
LegacyDriver(int argc, char** argv)
{
if (argc < 3)
{
throw std::runtime_error("nope");
}
// some logic with the arguments interpretation
int var1 = std::stoi(argv[1]);
int var2 = std::stoi(argv[2]);
std::cout << "config: " << var1 << ", " << var2 << "\n";
// etc ...
}
virtual ~LegacyDriver() = default;
// + some public interfaces, not important ...
};
Run Code Online (Sandbox Code Playgroud)
然后我的新驱动程序必须扩展此类,需要以某种方式将该argc, argv参数传递给基类。到目前为止,我的同事们只是在玩:
class MyNewDriver: public LegacyDriver
{
public:
MyNewDriver(int argc, char** argv): …Run Code Online (Sandbox Code Playgroud) 我得到了一些遗留代码:
<?PHP
if(isset($_GET['pagina'])=="homepage") {
?>
HtmlCode1
<?php
} else {
?>
HtmlCode2
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
我不确切知道为什么,但这似乎有效.当我有?pagina = homepage时加载htmlcode1并且当pagina var不存在时加载htmlcode2或者是其他东西(没有真正看到别的东西,只是不存在).该网站使用的是php4(不知道具体版本).但实际上,这怎么可行呢?我查看了手册,它说isset返回一个bool ..
任何人?
我在一个由两个前端开发人员组成的团队中,在一个基于Web的后期创业项目上工作.
该网站运行良好,但代码有很大的改进空间,因为代码非常混乱和杂乱无章.
我想通过编写测试和仔细重构来逐步清理,以避免破坏任何东西.(使用"有效使用遗留代码"一书中的原则)
但是,我正在与之合作的开发人员正在进行许多高优先级的功能工作,而且我不想让他负担维护任务.很多时候他只是因为时间限制而编写凌乱的代码.
随着团队的成长,我担心如何管理不同的问题.
我想把团队分成两组:
我的目标是尽可能多地测试代码,同时仍然保持新功能开发的步伐.
这是否曾经尝试过?有什么想法吗?
我有一个遗留的msvs2005 c ++项目库(dll).我在安装了msvs2008的WindowsXP工作站上打开了项目并编译好了代码.但是当我尝试将它与可执行模块一起使用时,我观察到"my-library.dll或其中一个依赖项未找到".
Dependency Walker告诉我错过了MSVCP80.DLL,MSVCR80.DLL,MSVCR90D.DLL.MSJAVA.DLL也错过了.我安装了2008 Visual C++可再发行组件包,但问题仍然存在.所需的库未放入System32文件夹.
我应该在工作站上安装什么或者在项目配置中应该采取什么措施来避免这个问题?
先感谢您!
我正在处理一些(杂乱的)遗留代码,我在以下内容中遇到了这个代码段Form_Load:
[other code]
Dim r As Byte
Dim g As Byte
Dim b As Byte
Randomize
[more code]
Run Code Online (Sandbox Code Playgroud)
对于VB的许多部分我还是比较新的,所以请原谅我的无知,如果它是公然的,并且打你的脸,但是有人能告诉我这里发生了什么吗?我对变量声明很好,那些有意义.但是什么是"随机化"只是挂在那里?这应该是VB的随机函数吗?如果是这样,它实际上并没有在这里做任何事情,是吗?我最初认为它是调用原始设计者所写的函数/子函数,但不存在类似的东西.程序中没有错误(虽然有数百个无用的行),如果我评论"随机化",似乎没有任何改变.
我支持一些传统的Delphi项目.该项目分为存储在DLL中的模块.我需要编译其中一个模块(最后编译于2007年).此模块使用模块DualListBox并具有TDualListBox类型的变量:
uses DualListBox ....;
...
lbMasterOrders: TDualListBox;
lbChildOrders: TDualListBox;
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道在哪里可以找到模块DualListBox.我在我的机器上找不到它,我在互联网上找不到它.据我所知,TDualListBox组件必须类似ListBox,可以在运行时添加行.
起初,我认为DualListBox是RxLib的一部分,但RxLib的组件被称为DualListDialog,它完全不同.
所以也许这是prev developer的自编模块,它被删除了.
但不知何故,编译的DLL(在2007年被编译)工作得非常好.也许我可以通过反编译该DLL来调查在哪里找到该模块?如果是这样,我应该在哪里查看反编译的项目?我正在使用DeDe进行反编译.
我有一个遗留程序,我假设是用 BASIC 编写的(一个以 .bas 结尾的文件)。好像已经编译过了!当在十六进制编辑器中打开时,字符串和注释都是可读的,而完成计算的部分则不可读。AFAIK,BASIC 是一种解释语言。
问题:
我遇到了一个错误设计的带有 34 个参数的 java 对象的问题。
该对象有时可以有 3 个填充值,而其他对象必须为 null 。在第二种情况下,15 个字段被填充,其他字段必须为空等等......
我现在无法更改此对象,因为它链接到存储库模型。
有没有办法检查字段名称列表是否为空?我还考虑创建一个子对象来创建 isEmpty() 方法,以便分割支票的大小。
例如这个类“Guy”:
public class Guy {
private String name;
private String haveCar;
private String carBrand;
private String isRentedCar;
private String rentCarCompany;
public checkGuy(Guy guy){
if(guy.getHaveCar.equals("YES")){
// check if car brand exist
if ( guy.isRentedCar.equals("YES")){
// check if rent car company in db ...
}
}
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
当有人发布这个对象时,我想避免保存这个对象:
public class Guy {
private String name;
private String haveCar;
private String carBrand;
private …Run Code Online (Sandbox Code Playgroud)