我正在尝试构建一个可重用代码库,以便在项目之间使用.当我编写代码片段和组件时,我正在尝试决定哪些库我将从长期VS中获得最多使用我会再次使用它吗?
每个开发人员都应该重用哪些代码或组件?
我主要对.net web和winforms感兴趣.
我想合并以下代码中的catch块,以实现代码重用:
try
{
DoSomeInputOutput();
}
catch (InvalidOperationException ex)
{
HandleKnownException1(ex);
}
catch (InvalidDataException ex)
{
HandleKnownException1(ex);
}
catch (ArgumentNullException ex)
{
HandleKnownException1(ex);
}
catch (ArgumentOutOfRangeException ex)
{
HandleKnownException2(ex);
}
catch (ArithmeticException ex)
{
HandleKnownException2(ex);
}
catch (InvalidCastException ex)
{
HandleKnownException2(ex);
}
catch (Exception ex)
{
HandleUnknownException(ex);
}
Run Code Online (Sandbox Code Playgroud)
这样的事情:
try
{
DoSomeInputOutput();
}
catch (InvalidOperationException ex)
catch (InvalidDataException ex)
catch (ArgumentNullException ex)
{
HandleKnownException1(ex);
}
catch (ArgumentOutOfRangeException ex)
catch (ArithmeticException ex)
catch (InvalidCastException ex)
{
HandleKnownException2(ex);
}
catch (Exception ex)
{ …Run Code Online (Sandbox Code Playgroud) 我在使用UIBinder的Google Web Toolkit中有一个布局TabLayoutPanel.此布局具有我的应用程序将使用的所有选项卡的超集(将其视为管理视图).
我现在需要使用这些选项卡的子集(例如,对于常规用户)来创建新布局.
是否可以在我的用户布局中从我的管理布局导入面板?或者可能在第三个文件中定义它们,并从两个布局导入?
我正在使用C#和Razor在ASP.NET MVC3中开发一个Web应用程序.
我需要创建一个实用程序类,我将函数转换为将字符串转换为日期(年,月,日等等).
在ASP.NET Web窗体中,我曾经将这种类放在App_Code文件夹中.在MVC中没有这样的文件夹,我不认为实用程序类既不属于Models也不属于Helpers(我创建的文件夹,用于将我的扩展放在HTML Helpers上).
我读到将实用程序类放在不同的程序集中是一种很好的做法.我想一个不同的项目应该做的工作,但我应该创建什么样的项目?普通的类库项目对我来说似乎是最合乎逻辑的选择.
但是在我的情况下,我只需要使用多个方法放置一个单独的类,因此,如果我们忽略了可重用性,那么将实用程序类放在我的MVC3 Web应用程序中的某个地方是不是更合乎逻辑?
假设我想创建一个库,我将在未来的项目中使用它,但我也希望在该库中包含引用其他EJB等的EJB.该库还包含简单的java类.最好的方法是什么?在这种情况下如何定义依赖项?我以为我会用注释定义它们.如果库的用户想要配置其他依赖项,他可以通过在项目的ejb-jar.xml中覆盖它们来实现.过去有没有人做过这样的事情?在Eclipse中开发时,你会怎么做?
基本上我的问题是,据我所知,如果我只是创建一个ejb-jar,我将在我的所有项目中包含ejb容器将在部署时实例化我的例如MDB,即使我不需要所有我的库中包含的MDB,但只包含其中的一部分.
是不是将MDB定义为带注释的EJB或者在ejb-jar.xml中定义但只有它们的依赖项的解决方案?
会话bean怎么样?即使我不在项目中使用它们,它们是否会自动实例化?
我正在.net之外和ruby-on-rails环境之外创建一些静态html页面.
我创建了一个菜单,我希望在几个页面之间共享,但我想知道如何使用常规的html结构(即没有.net的母版页,没有轨道布局)
有没有办法在不切割和粘贴的情况下做到这一点?
我正在开发一个运行在两个不同平台上的python应用程序,即常规桌面linux和Maemo 4.我们在两个平台上使用PyGTK,但是在Maemo上有一些小调整使它看起来很好,实现如下:
if util.platform.MAEMO:
# do something fancy for maemo
else:
# regular pygtk
Run Code Online (Sandbox Code Playgroud)
在Maemo 4中,大约有15个if语句需要让UI看起来很好用.
这一直是非常容易管理的.问题是前一段时间发布了Maemo的新版本(5,aka fremantle),与Maemo 4相比,它有一些很大的不同.我不想在整个GUI代码中添加一堆检查,以便让所有3个平台在相同的代码库中运行良好,因为这会变得混乱.我也不想为每个平台创建原始GUI代码的副本,只需为特定平台修改它(我想尽可能多地重用代码).
那么,对于基于相同核心UI代码的不同平台,有哪些方法可以使用稍微不同的UI?我不认为这是一个python或Maemo特定的问题,我只想知道这是怎么做的.
作为计算语言学的学生,我经常进行机器学习实验,我必须从各种不同的资源准备训练数据,如原始或注释文本语料库或语法树库.对于每个新任务和每个新实验,我编写程序(通常使用Python,有时是Java)来提取我需要的功能和值,并将数据从一种格式转换为另一种格式.这通常导致非常大量的非常大的文件和大量的小程序处理它们以获得某些机器学习框架的输入(如Weka的arff文件).
人们需要非常有条理地处理这个问题和计划,并且要小心谨慎,不要错过大量数据中的任何重要特性,例外或错误.良好的软件设计原则,如设计模式或重构范例,对于这些任务来说并不是很重要,因为安全性,可维护性或可持续性等问题并不重要 - 一旦程序成功处理了数据,就不再需要它了.到目前为止,我甚至已经停止了在Python代码和程序中使用类或函数的简单程序方式.下一个实验将需要具有独特特征和不同格式的不同数据集,以便无论如何都可能必须从头开始编程.到目前为止,我的经历是' 将80-90%的项目时间花在准备培训数据的任务上并不罕见.小时和日子只考虑如何从一种数据格式到另一种数据格式.有时,这可能会变得非常令人沮丧.
好吧,你可能猜到我有点夸张,甚至有目的,但我很肯定你理解我想说的话.实际上,我的问题是:
是否有任何通用框架,架构,最佳实践来处理这些任务?在优化设计的情况下,我希望能够重复使用多少代码?
我有一个.cs充满C#代码的文件,我一直在多个项目中重复使用.
现在我通过将代码复制并粘贴到每个项目目录中的新文件中来将它包含在这些项目中.这是错误的做法.
什么是正确的方法呢?
正确的方法应该:
随机猜测,我期待某种指令using mycode = C:\common\mycode.cs,但我确信这不是.NET的做事方式.
(我正在使用C#2010,.NET 4.0,并且只在一台计算机上本地编译此代码.)
我试图让我的GUI库用户不受限制地自定义输入/输出过渡效果,同时仍然保持简单/防止误用(当控件进入或退出视图时).
为此,我向Control类添加了一个委托,它将采用Control引用和转换完成百分比,以便用户能够以他想要的任何方式平滑地转换控件的位置/不透明度,基于给定百分比.他所要做的就是在控制进入/退出之前订阅过渡功能.
但是,我意识到仅使用当前完成百分比来转换/动画控件是不可能的,因为您还必须存储和比较控件的初始位置.
为了明确这个存储要求,我应该强制使用委托函子吗?
如果是这样,我怎么能以简约/干净的方式做到这一点?
随意提出另一种方法,允许用户应用自定义过渡动画!