我在一家公司工作,该公司由同一个团队进行维护,为一个软件带来生命.
我经常听说组织有一个单独的维护团队或维护程序员.我想知道的是 - 这背后的原因是什么?
除了将"旧代码"抛弃给较小的凡人之外,还有吗?
从维护自己的"垃圾"中汲取的教训价值更高?当那些导致它们开始的人完成时,修复缺陷是否更有效?
我错过了为什么有一个单独的维护团队可能有益的任何真正原因?
如果你能帮我解决这个问题,我将不胜感激:)
关于这个问题cvConvexityDefects在OpenCV 2.X/C++中?, 我也有同样的问题.OpenCV C++包装器没有出现在C版本中的函数cvConvexityDefects,所以我尝试编写自己的版本.
部分代码是(请注意,countour和hull都是vector <Point>,单独计算:
CvSeq* contourPoints;
CvSeq* hullPoints;
CvSeq* defects;
CvMemStorage* storage;
CvMemStorage* strDefects;
CvMemStorage* contourStr;
CvMemStorage* hullStr;
CvConvexityDefect *defectArray = 0;
strDefects = cvCreateMemStorage();
defects = cvCreateSeq( CV_SEQ_KIND_GENERIC|CV_32SC2, sizeof(CvSeq),sizeof(CvPoint), strDefects );
//We start converting vector<Point> resulting from findContours
contourStr = cvCreateMemStorage();
contourPoints = cvCreateSeq(CV_SEQ_KIND_GENERIC|CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), contourStr);
printf("Metiendo valores\n");
for(int i=0; i<(int)contour.size(); i++) {
CvPoint cp = {contour[i].x, contour[i].y};
cvSeqPush(contourPoints, &cp);
}
//Now, the hull points obtained from convexHull c++
hullStr = cvCreateMemStorage(0);
hullPoints …Run Code Online (Sandbox Code Playgroud) 标准库包括一个<iosfwd>头,(forward)声明所有流,包括任何typedefs,并定义char_traits模板,包括特化.
遗憾的是,不存在这样<stlfwd>的是(正向)宣布所有常见的STL的数据类型和功能,如头vector,map,less,sort等.甚至更不幸的是,用户代码不允许这种声明/添加typedefs到的std名称空间,如每
§17.4.3.1 [lib.reserved.names] p1:
除非另有说明,否则C++程序未定义向命名空间内的命名空间或命名空间添加声明或定义.程序可以将任何标准库模板的模板特化添加到命名空间.
stdstdstd
是的,它涵盖(前向)声明的情况,即使标准库中已存在类型.当然,即使添加了这样的声明,大多数(所有?)编译器也会表现得非常正常,但严格来说,语言律师说,这是未定义的行为.我觉得这typedef对标准容器来说特别乏味,比如:
// how to forward declare map and string?
typedef std::map<std::string, std::string> Attributes;
Run Code Online (Sandbox Code Playgroud)
现在,这可以被视为缺陷吗?
我的意思是不存在<stlfwd>标题(或者更好<stdfwd>,也包括覆盖<iosfwd>)和标准库中已经存在的声明禁令.
此外,根据这个问题,如果一个(转发)完全按照标准的要求声明标准容器,算法和仿函数/函数,那么代码应该是完全有效的(如果不是禁止用户自己的声明)该std命名空间),因为实现是不允许添加任何隐藏/默认的模板参数.
我问这个是因为我想最终提交一份有关此问题的缺陷报告.
我正在寻找一个免费的缺陷跟踪解决方案.我有Mercury Quality Center的经验,但我听说有五位数的pricetag.我的个人项目需要一些东西.Webforms(即ASP.NET)将是首选.有什么好的吗?
这个问题没有与之相关的实际问题,更多的是好奇心,想要知道我是不是太过于字面意思;).
所以我一直在努力尽可能多地理解c ++标准.今天,在我深入研究标准时,我注意到了这一点(ISO/IEC 14882:2003 21.3.4):
const_reference operator[](size_type pos) const;
reference operator[](size_type pos);
Returns: If pos < size(), returns data()[pos].
Otherwise, if pos == size(), the const version returns charT().
Otherwise, the behavior is undefined.
Run Code Online (Sandbox Code Playgroud)
对我来说似乎很理智.但后来我心想,等一下是什么定义data()?
const charT* data() const;
Run Code Online (Sandbox Code Playgroud)
是的,它返回一个.const charT*
很明显,非const版本operator[]不能简单地实现,return data()[pos]因为那将是char&从类型的表达式初始化类型的引用const char.
我认为这是很明显,目的是data()要实现像return data_;和operator[]被实现为return data_[pos];或者功能类似的东西,但是这不是标准说什么:-P.
如果我没记错的话,实施者有一些余地,只要它符合给定的基本要求并具有相同的净效果,他们就可以实现他们喜欢的方式.
所以,问题是,我是不是这样太乏味了,或者这是一个将被视为有缺陷的东西类型.
编辑:值得注意的是,c ++ 0x草案已将措辞改为:
Returns: If pos < …Run Code Online (Sandbox Code Playgroud) 有人告诉我关于沼泽图解释说,通过测量给定产品的传入缺陷率和传出修复率来预测代码质量是有用的.
不幸的是,我无法找到关于这些图表的其他信息,我想知道它是否是一个专门针对一家公司的行话术语.
你能解释一下沼泽图是什么吗?
假设您正在编写一段遗留代码,该代码是在您的公司开始使用像Scrum这样的敏捷方法之前编写的.
现在让我们说你发现了一个需要修复的字段中的错误,并且从来没有写过该功能的故事.团队中的每个人都知道这个特殊功能是什么以及它应该如何表现但只是没有与之相关的故事.
现在,在当前的冲刺中,您将处理该缺陷,因为市场营销和支持部门已经厌倦了处理该问题.
你是否回想起要链接到的缺陷?您是否将您的缺陷重新标记为故事并修改格式以使其看起来像故事?如果你没有创建一个故事,你会得到缺陷的分数吗?如果您确实创建了一个故事,那么您是否可以获得修复缺陷的要点(通过故事的要点)?
处理这种情况的最佳方法是什么?
更新:假设安装过程突然在Windows 7 64位上开始蓝屏系统,并且始终要求应用程序安装在所有Windows平台上.由于Service Pack 1或类似的东西,新问题可能已经出现.
在我的32位PC上,运行Office 2003 Excel VBA,以下代码
Debug.Print ""
Debug.Print Hex(&HFF00000 And &HF00000)
Debug.Print Hex(&HFF0000 And &HF0000)
Debug.Print Hex(&HFF000 And &HF000)
Debug.Print Hex(&HFF00 And &HF00)
Debug.Print Hex(&HFF0 And &HF0)
Debug.Print Hex(&HFF And &HF)
Run Code Online (Sandbox Code Playgroud)
给出以下输出
F00000
F0000
FF000 '<- Here's the Anomaly
F00
F0
F
Run Code Online (Sandbox Code Playgroud)
只有Hex值"F"才会出现这种情况; 即用所有其他十六进制数字替换所有"F",输出将如预期的那样
看起来像16位处理的一些宿醉
我的世界被打破了
我想知道是否;
1)这真的是异常(或者我疯了吗?)
如果是;
2)是否与其他Office版本一起出现
3)它是否发生在64位PC上
4)什么是最优雅的解决方案
任何线索将不胜感激
是否有测量缺陷密度的标准方法?大多数网站在网上声明它应该被测量为:
number of defects discovered / the code size
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我们的最终目标是能够(a)将我们的缺陷密度与行业标准(b)进行比较,以识别脆弱且更多错误并且值得更多关注的模块(c)使用一致的度量标准来绘制趋势线演示随着时间的推移,模块质量的提高
在修复新代码中的缺陷时,最佳策略是什么?因为我发现缺陷修复提高了我的编码标准和我对该语言和技术的理解.我想优化获得的东西.
defects ×10
c++ ×3
bug-tracking ×1
convex-hull ×1
excel ×1
excel-vba ×1
java ×1
maintenance ×1
metrics ×1
opencv ×1
qa ×1
scrum ×1
standards ×1
std ×1
string ×1
user-stories ×1
vba ×1