小编STW*_*STW的帖子

可以使用哪些工具来帮助清理和支持草率的.NET代码库

我不打算这是主观的,但如果答案可以通过建议或方向调整一点我会很感激:)

在过去的几年里,我的工作是开发并维护/扩展相当大的应用程序.该应用程序是我们部门运行的第一批.NET项目之一,几乎整个开发团队都是一个巨大的学习曲线.由于对于几乎每个人来说这是一种新的体验,我们已经制定了一些丑陋的代码 - 实际上"一些"更像是"可能是几十万行".

我们的团队现在大部分时间都已成熟,我们正在意识到我们的错误使应用程序陷入困境,并且维持其当前状态几乎与它所取代的神秘VB6应用程序一样困难.值得庆幸的是,决策者意识到我们需要纠正我们的错误,但是我们支持8球,我们的大多数开发人员都在预定的功能增强(我们的业务线中的必要恶意)或侧面项目上工作.

我们正在使用.NET 2.0,VS2005(希望迁移到2008年),TFS 2005(即将推出到2008年)

  • 有哪些工具可以帮助我们实施编码标准(我正在审查Juval Lowy的C#标准并将其转录为VB.NET)

  • 有哪些工具可以帮助我们识别设计不佳的组件?

  • 有哪些工具可以帮助我们映射当前混乱的命名空间?

当我想到这些问题时,或者随着反应引发突触,我可能会更多地提出这个问题.

new - 是否有任何工具可以直接对抗TFS以帮助分析我们的代码?

.net coding-style

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

开发机器的最佳快捷管理工具?

作为开发人员,我每天都使用大量快捷方式和应用程序.Visual Studio 6,2003,2005,2008,SQL客户端工具,WinMerge,Notepad ++,Synergy,VMware(以及大量的虚拟机,多个浏览器,以及大约20个重要目录,服务器,测试环境等快捷方式) ...

Vista开始菜单是快速获取其中许多菜单的救星.但是,有很多日常任务仍需要相对大量的工作才能访问(打开文件夹,跳过几个子文件夹,查找特定文件并将其关闭.

您认为哪些工具/应用程序/实用程序最有利于提供对所有最常访问的工具的有组织和快速访问?

什么是可以嵌入Windows任务栏的工具,它们提供与Linux中的抽屉或OS X中的堆栈类似的功能?我当前的快速启动栏(以及添加到任务栏的其他文件夹)占用了大量的空间,并且坚持打开新的浏览器窗口来显示子目录,这些目录已经足够但仍然很慢并且我的桌面也会出现问题.

...不能等到明天才能获得Win 7 RC及其最终改进的任务栏

desktop development-environment

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

VB.NET到C#转换 - 非EventHandler事件的接口事件声明

在将VB.NET接口转换为C#的同时进入此阶段; VB版本定义了一个不符合典型(对象发送者,EventArgs e)签名的事件:

VB

Public Class SomeType
    ' Does *NOT* inherit from EventArgs
End Class

Public Interface ISomething
    Public Event SomeEvent(sender as Object, value as SomeType)
End Interface
Run Code Online (Sandbox Code Playgroud)

什么是ISomething的C#等价物?到目前为止,我的尝试未能编译:

.net c# vb.net

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

在 Mac OS X 10.6.3 下保存 PDF 时应用 Quartz 过滤器

使用 Mac OS X API,我试图保存一个应用了 Quartz 过滤器的 PDF 文件,就像可以从预览应用程序的“另存为”对话框中一样。到目前为止,我已经编写了以下代码(使用 Python 和 pyObjC,但这对我来说并不重要):

-- filter-pdf.py: 开始

from Foundation import *
from Quartz import *
import objc

page_rect = CGRectMake (0, 0, 612, 792)
fdict = NSDictionary.dictionaryWithContentsOfFile_("/System/Library/Filters/Blue
\ Tone.qfilter")
in_pdf = CGPDFDocumentCreateWithProvider(CGDataProviderCreateWithFilename ("test
.pdf"))
url = CFURLCreateWithFileSystemPath(None, "test_out.pdf", kCFURLPOSIXPathStyle, 
False)
c = CGPDFContextCreateWithURL(url, page_rect, fdict)

np = CGPDFDocumentGetNumberOfPages(in_pdf)
for ip in range (1, np+1):
        page = CGPDFDocumentGetPage(in_pdf, ip)
        r = CGPDFPageGetBoxRect(page, kCGPDFMediaBox)
        CGContextBeginPage(c, r)
        CGContextDrawPDFPage(c, page)
        CGContextEndPage(c)
Run Code Online (Sandbox Code Playgroud)

-- filter-pdf.py: 结束

不幸的是,没有应用过滤器“蓝色色调”,输出 PDF …

macos pyobjc quartz-graphics

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

CGPDFDictionary键

我变得疯狂,因为我无法找到PDF文档中的"默认"键.

例如,如果我想从CGPDFDocument检索超链接,我这样做:

CGPDFStringRef uriStringRef;
if(!CGPDFDictionaryGetString(aDict, "URI", &uriStringRef)) {
    break;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,密钥是"URI".是否有文件解释CGPDFDictionary的键是什么?

pdf quartz-graphics ios4

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

使用Nancy + TinyIoC通过Quartz JobFactory注入依赖项

所以我使用Nancy + TinyIoC来运行一个小型的Web服务.这有效.现在我需要创建一个需要一些相同依赖关系的Quartz作业,理想情况下我想使用Nancy的TinyIoC注入这些,如Quartz Tutorial中所述.

我已经找到了一个使用Windsor的例子,他们直接访问了IoC Container,但是根据这里提出的类似问题,南希显然是粗暴的,不必要的.

那么我的问题就是,这样做的正确方法是什么?我的JobFactory的代码如下所示:

public class MyJobFactory : IJobFactory
{
    public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
    {
        return (IJob) TinyIoCContainer.Current.Resolve(bundle.JobDetail.JobType);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这不会返回正确注入实例的作业,而是返回具有新依赖项实例的作业.(这应该是Singletons,这让我相信TinyIoCContainer.Current返回的TinyIoCContainer与Nancy使用的容器不同).

更新
我通过Nancy Bootstrapper设置IoC容器:

public class MyBootStrapper : DefaultNancyBootstrapper
{
    protected override void ConfigureApplicationContainer(TinyIoCContainer container)
    {
        var push = new PushService();
        // object initialization and Event Registration snipped
        container.Register(cp);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net quartz.net nancy tinyioc

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

我怎样才能将Spring数据源集成到Quartz中?

我正在尝试将Spring中的数据源configure集成到Quartz调度程序中.虽然我从论坛和邮件列表中收集了一些关于如何做到这一点的信息,但我仍然无法构建整篇文章.

我在Spring中配置数据源如下:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jdbc/projectA"/>
    <property name="lookupOnStartup" value="false"/>
    <property name="cache" value="true"/>
    <property name="proxyInterface" value="javax.sql.DataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

而Quartz-Spring的配置如下:

<jee:jndi-lookup id="quartzDataSource" 
    lookup-on-startup="false" 
    proxy-interface="javax.sql.DataSource" 
    cache="true" 
    jndi-name="java:jdbc/projectA"/>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    ...

    <property name="dataSource" ref="quartzDataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

这不是正确的配置,因为我收到以下错误:

[ERROR   ] SRVE0283E: Exception caught while initializing context: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean#0' defined in class path resource [job-authentication-spring.xml]: Invocation of init method failed; nested exception is org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.InvalidNameException: java:jdbc/projectA
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1422)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:518)
    at …
Run Code Online (Sandbox Code Playgroud)

java spring quartz-scheduler

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

Java Quartz Cron触发器

我在我的java程序中使用Quartz Cron触发器.我使用的Cron表达式是0 0***?

现在我想要一个调度程序每小时执行一次.为了测试相同的启动我的jboss服务器,然后我将我的窗口时间重置为5:59:45和6:00:00,调度程序没有激活.

现在,下次我第一次调整时间说5:55:00然后我启动服务器并且调度程序在6:00:00解雇.

服务器或调度程序是否在内部保持时间,当然最初是用系统时序初始化的?

java quartz-scheduler crontrigger

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

从CALayers绘制图像

我正在构建某种审查应用程序.到目前为止,我已经完成了用我的iPhone拍摄的图像像素化.

但我想最终实现这样的图像:http://images-mediawiki-sites.thefullwiki.org/11/4/8/8/8328511755287292.jpg

所以我的想法是完全像素化我的图像,然后在它上面添加一个蒙版,以达到预期的效果.因此,就层次而言,它就像:originalImage + maskedPixelatedVersionOfImage ..我正在考虑在触摸图像时为蒙版设置动画,以将蒙版缩放到所需的大小.手指放在图像上的时间越长,面具就越大......

经过一番搜索,我想这可以使用CALayers和CAAnimation来完成.但是,我如何将这些图层合成到我可以保存在iphone上的photoalbum中的图像?

我在这里采取正确的方法吗?

编辑:

好吧,我觉得Ole的解决方案是正确的,虽然我仍然没有得到我想要的东西:我使用的代码是:

    CALayer *maskLayer = [CALayer layer];
    CALayer *mosaicLayer = [CALayer layer];

    // Mask image ends with 0.15 opacity on both sides. Set the background color of the layer
    // to the same value so the layer can extend the mask image.
    mosaicLayer.contents = (id)[img CGImage];
    mosaicLayer.frame = CGRectMake(0,0, img.size.width, img.size.height);
    UIImage *maskImg = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mask" ofType:@"png"]];
    maskLayer.contents = (id)[maskImg CGImage];
    maskLayer.frame = CGRectMake(100,150, maskImg.size.width, maskImg.size.height);

    mosaicLayer.mask …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation core-graphics objective-c quartz-graphics

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

解读CGColor

嗨,我试图让我的脑袋围绕CGColor,我一直在做很多Quartz2d的东西.在过去我用[UIColor xColor] .CGColor搞砸了它...但是当我指定颜色时,这个新的编译器会崩溃,即[UIColor redColor] .CGColor很好,但如果我自己煮[UIColor color withRed:x Green:y etc] .CGColor它崩溃了.我不认为它是一个保留问题,因为[UIColor alloc] initWithRed:].CGColor给了我同样的东西.我猜UIColor - > CGColor桥有点捏造,硬编码只用于预设颜色,而不是转换.所以我正在寻找一种RGB类型的CGColor方案,这样我就可以从一组值中重建一种颜色.我真的不在乎它的0-1或1-255等,只需要一个系统我可以解决我的问题,如果有人能给我一个骨头,我真的很感激它欢呼

iphone quartz-graphics cgcolor

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