问题列表 - 第4333页

您如何根据不断变化的要求管理客户?

尽管Steve Yegge的智慧,大多数开发人员都面临着从非技术客户那里收集的需求.有时,有些项目经理会与客户打交道并转换他们的要求,有时则不然.无论如何,要求将改变的事实是不可避免的.

大多数构成"良好的编程实践"的东西都与开发适应性强的系统有关,因此它们可以承受不断变化的要求.YAGNI,DRY,松散耦合等原理对此有所贡献.诸如敏捷之类的迭代开发过程也试图解决尝试击中移动目标的问题,当然,正在测试的系统使得进行更改变得更加可行.

尽管如此,似乎对于我们中的许多人而言,不断变化的要求不仅会损害我们软件的质量,还会耗尽我们的动力并使我们想要刺伤某人.

这个问题是关于如何管理客户,使他们能够以他们需要的方式改变他们的要求,同时阻止任意或无聊的变化.你怎么做呢?

  • 您是否有项目经理将开发人员与客户隔离开来?
  • 您是否有正式的变更管理流程?改变经理?
  • 客户在真正需要变更时有多难?
  • 相反,客户在"轻浮"时获得变更是多么容易?
  • 在解释变更成本时,您给了客户多少细节?
  • 在收到变更请求后,您能以多快的速度向客户提供此信息?
  • 哪些因素可以破坏这个过程(例如PM谁不能拒绝客户?)
  • 什么对你有用?

project-management requirements change-management

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

解析XML时,所有nodeValue字段均为None

我正在用Python构建一个简单的基于Web的RSS阅读器,但是我在解析XML时遇到了问题.我从Python命令行中尝试了一些东西开始.

>>> from xml.dom import minidom
>>> import urllib2 
>>> url ='http://www.digg.com/rss/index.xml'
>>> xmldoc = minidom.parse(urllib2.urlopen(url))
>>> channelnode = xmldoc.getElementsByTagName("channel")
>>> channelnode = xmldoc.getElementsByTagName("channel")
>>> titlenode = channelnode[0].getElementsByTagName("title")
>>> print titlenode[0]
<DOM Element: title at 0xb37440> 
>>> print titlenode[0].nodeValue 
None
Run Code Online (Sandbox Code Playgroud)

我玩了一段时间,但nodeValue一切似乎都是None.然而,如果你看一下XML,肯定有值.我究竟做错了什么?

python xml rss minidom

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

如何快速查找添加/删除的文件?

我正在编写一个小程序,它创建了我目录中所有文件的索引.它基本上遍历磁盘上的每个文件并将其存储到可搜索的数据库中,就像Unix的locate一样.问题是,由于我有大约一百万个文件,因此索引生成非常慢.

生成索引后,是否可以快速找到自上次运行以来在磁盘上添加或删除的文件?

编辑:我不想监视文件系统事件.我认为风险太高而无法实现同步,我更喜欢快速重新扫描,以便快速找到添加/删除文件的位置.也许目录上次修改日期或其他什么?

一个小基准

我刚做了一点基准.运行

dir /b /s M:\tests\  >c:\out.txt
Run Code Online (Sandbox Code Playgroud)

需要0.9秒,并提供我需要的所有信息.当我使用Java实现(很像这样)时,大约需要4.5秒.任何想法如何改善至少这种蛮力的方法?

相关文章:如何查看目录的子文件是否已更改

java filesystems file

11
推荐指数
3
解决办法
1904
查看次数

文件/文件夹监控

监视磁盘对文件活动的最佳方法是什么.我的意思是获取完整的文件名(c:\ temp\abc.txt),操作(创建/删除/修改/重命名),以及导致该文件的用户(user1)和进程名称(notepad.exe)(多个)删除)活动.

我听说过一些API和ShellNotifications,但不能将它们用于上述所有需求.

最好的祝福.

delphi directory monitoring file

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

可以覆盖VB.NET根命名空间吗?

VB.NET自动将项目属性中设置的根命名空间前缀添加到每个类的命名空间.这与C#不同,后者必须每次都声明完整的命名空间.

是否可以覆盖此行为,在根命名空间之外创建命名空间?

vb.net namespaces

16
推荐指数
3
解决办法
7311
查看次数

从其他列表中拉出的SharePoint列表

有人能指出我将如何做以下事情:

我想创建一个列表,从其他列表(多个)中提取(前3个)项目,并将它们显示在一个统一列表中.这可能吗?如果是这样,请指出我如何实现这一目标,谢谢.

sharepoint list

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

将Linq中的外键设置为SQL

众所周知,如果已经加载了实体,则无法直接在Linq to SQL中设置外键ID.但是,您可以通过它的外键查找实体,然后使用实体关系将实体设置为外部实体.(为了简单起见,我在这里取出了枚举并使用了整数值).即如果我有一个加载的约会实体和一个相关的AppoinmentStatus实体,我不能这样做: -

ExistingAppointment.AppointmentStatusID = 7
Run Code Online (Sandbox Code Playgroud)

但我可以这样做: -

ExistingAppointment.AppointmentStatus = (From appstat In db.AppointmentStatus _
                                        Where appstat.StatusID = 7 _
                                        Select appstat).Single
Run Code Online (Sandbox Code Playgroud)

我有这样的事情乱丢我的代码,我想重构.所以...

我显然可以在这样的模块中使用辅助方法: -


Module Helper
    Public Shared Function GetAppointmentStatus(ByVal AppStatusID As Integer) As AppointmentStatus
        GetAppointmentStatus = (From appstat In db.AppointmentStatus _
                                       Where appstat.AppointmentStatusID = AppStatus _
                                       Select appstat).Single
    End Function
End Module
Run Code Online (Sandbox Code Playgroud)

我甚至可以把它变成一个扩展方法,就像这样.


Imports System.Runtime.CompilerServices
Module Helper
Extension()> _
    Public Shared Function GetAppointmentStatus(ByVal db as DataClassesDataContext, ByVal AppStatusID As Integer) As AppointmentStatus
        GetAppointmentStatus = (From appstat In …
Run Code Online (Sandbox Code Playgroud)

.net vb.net linq-to-sql

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

JavaMe部署

我正在使用Eclipse 3.4,EclipseMe 1.7.9.我试图部署/"创建包"一个包含外部.jar文件(LWUIT.jar)的简单项目.当我尝试使用导出的.jar文件创建包时(属性 - > Java构建路径 - >顺序和导出)我收到以下错误消息:"构建期间出错"

(详细信息:构建期间的错误.错误在项目上运行构建器'Preverification''尝试'.org.eclipse.jdt.internal.core.JavaModel.getTarget(Lorg/eclipse/core/resources/IContainer; Lorg/eclipse/core/runtime/IPath; Z)Ljava/lang/Object; org.eclipse.jdt.internal.core.JavaModel.getTarget(Lorg/eclipse/core/resources/IContainer; Lorg/eclipse/core/runtime/IPath; Z)Ljava/lang/Object;)

如何使构建成功?

eclipse deployment lwuit java-me

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

替换Uri中的主机

使用.NET替换Uri的主机部分最好的方法是什么?

即:

string ReplaceHost(string original, string newHostName);
//...
string s = ReplaceHost("http://oldhostname/index.html", "newhostname");
Assert.AreEqual("http://newhostname/index.html", s);
//...
string s = ReplaceHost("http://user:pass@oldhostname/index.html", "newhostname");
Assert.AreEqual("http://user:pass@newhostname/index.html", s);
//...
string s = ReplaceHost("ftp://user:pass@oldhostname", "newhostname");
Assert.AreEqual("ftp://user:pass@newhostname", s);
//etc.
Run Code Online (Sandbox Code Playgroud)

System.Uri似乎没什么帮助.

.net c# uri

77
推荐指数
2
解决办法
3万
查看次数

批量插入,SQL Server 2000,unix换行符

我试图将.csv文件插入到具有unix换行符的数据库中.我正在运行的命令是:

BULK INSERT table_name
FROM 'C:\file.csv' 
WITH 
( 
    FIELDTERMINATOR = ',', 
    ROWTERMINATOR = '\n' 
) 
Run Code Online (Sandbox Code Playgroud)

如果我将文件转换为Windows格式,则加载有效,但如果可以避免,我不想执行此额外步骤.有任何想法吗?

sql sql-server bulkinsert

34
推荐指数
3
解决办法
3万
查看次数