所以我有一个问题.或者说我的朋友有问题,因为我永远不会在互联网论坛上写我的公司.
在我朋友的公司规范写作中,我们应该说,有点未充分利用.有一种根深蒂固的文化,即首先编写代码并稍后提出问题,无论是图书馆例程还是新工具都会给他们长期受苦的设计师造成伤害.
这当然会导致功能部分正确,不正确或完全丢失的情况("哦,只需在尝试任何您想要撤消的内容之前保存").这通常会导致那些糟糕的设计师或测试期间的生产力下降,因为错误修复主要用于正确实施.
我的朋友发现他对编写(和测试)规范的建议一般都很受欢迎.他的大多数同事已经接受了在纸上发现错误假设的美妙感觉,而不是在测试中期的周日晚上11点.Viva La Revolution!
然而,有一些人说他们的任务和键盘之间的任何东西.他们嘲笑实际设计任何东西的想法,然后快乐地放弃编写代码.这些都是资深的,长期雇用的开发人员,不愿意"浪费时间".
问题在于,第二组异教徒总是比第一组更快地产生(或者至少某些东西).随后,这就变成了理所当然:"为像图像缩放器这样简单的东西编写规范是没有意义的!哦,那些宽度!=高度或图像使用RLE的错误只需要一些调整".
现在问题:)
除了在项目结束时"告诉你"之外,有哪些好的短期方法可以证明编写功能或技术规范的实践从长远来看如何能够产生更好的软件?
干杯!
我创建了一个包含工具栏按钮的firefox扩展.如何进行设置,以便在安装扩展程序时,按钮会自动显示在主工具栏中.我不希望我的用户必须转到自定义工具栏菜单并拖动我的按钮.
基本上我在我的数据库中有文章,我想改变第一条记录的显示方式.我希望最新(已发布)文章成为焦点,而旧文章只是为了列出,(参见F1.com).我需要知道如何在数组中获取我的第一个值,并让它以不同的方式显示,但我不知道如何做到这一点,我可以这样做所以所有行显示相同而不是如何改变第一行.我还需要知道如何告诉其余的行显示相同的事后我猜你在那里使用if语句,然后在那之前对行进行某种计数.
$result = mysql_query("SELECT * FROM dbArticle WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC");
while($row = mysql_fetch_array($result))
{
echo "<h2 class=\"heading1\">". $row['title'] ."</h2>";
echo "By: ".$row['username']." Type: ".$row['type']." Posted: ".$row['timestamp']."
$body = $row['body'];
echo "<br/><p>";
echo substr("$body",0,260);
echo "...<span class=\"tool\"><a class=\"blue\" href=\"index.php?pageContent=readArticle&id=".$row['id']."\">Read More</a></span></p><hr/>";
}
mysql_close($con);
Run Code Online (Sandbox Code Playgroud)
好吧,我已经采取了Luke Dennis的代码并试图测试它,但我收到此错误:警告:为foreach()提供的参数无效这是foreach语句的行.刚刚想到的一件事是,我只想要显示5篇左右的旧文章.这就是我创建错误的原因:
<? $con = mysql_connect("localhost","****","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("******", $con);
$result = mysql_query("SELECT * FROM dbArticle ORDER BY timestamp DESC");
$first = true; …Run Code Online (Sandbox Code Playgroud) 如何显示超过63个字符的系统托盘工具提示?NotifyIcon.Text有63个字符限制,但我已经看到VNC服务器有更长的工具提示.
我该怎么做VNC服务器呢?
假设我有一个NSString(或NSMutableString)包含:
I said "Hello, world!".
He said "My name's not World."
Run Code Online (Sandbox Code Playgroud)
将其转化为以下内容的最佳方法是:
I said \"Hello, world!\".\nHe said \"My name\'s not World.\"
Run Code Online (Sandbox Code Playgroud)
我是否必须手动使用-replaceOccurrencesOfString:withString:一遍又一遍来转义字符,还是有更简单的方法?这些字符串可能包含其他字母/语言的字符.
如何在其他语言中使用其他字符串类完成此操作?
我们的win32应用程序(用C++编写)已经存在了10多年,并且还没有根据它们保存文件的位置遵循"良好实践".应用程序默认安装在"C:\ AppName"文件夹中,并将应用程序生成的文件,配置文件,下载的文件和保存的用户文档保存在该文件夹的子文件夹中.
据推测,现在默认安装在"c:\ Program Files\AppName"下是"最佳实践".但是,如果我们这样做,我们应该在哪里保留其余的文件?从Vista开始,写入程序文件文件夹是有问题的,似乎有一百万个其他地方可以放置不同的文件,我很困惑.
什么地方有什么参考?
编辑:扩展到目前为止人们提出的问题:
我熟悉SHGetFolderPath函数,但是你可以从中获得很多很多选项,而且我找不到一个资源说"这正是这些选项的用途,以及你何时使用可能想用它".
到目前为止,我们已经完成了"所有文件,包括保存的用户文件,在一个文件夹下"的东西,并且它运行良好 - 但是当人们想要在Program Files文件夹下安装应用程序时.出于某种原因,围绕Vista的虚拟化对我们的应用程序不起作用; 如果我们无论如何都会做出改变,我们也可以努力以"正确"的方式做事,因为我们不想在12个月内再次改变它.
进一步问题:
我们的应用程序包含一些"示例"文档,我们不时更新.如果我们每隔几个月覆盖一次,是否适合将它们安装到我的文档中?或者我的文件被认为对用户来说是完全安全的?
如果我们无法将它们安装到我的文档中,我们应该在哪里放置它们以便用户可以轻松地看到它们?
我有一个正在抓住这个System.Diagnostics.DataReceivedEventArgs活动的课程.
我想让这个活动在外部可用.为了实现这一目标,我现在正在内部抓住这个并引发另一个事件,这对我来说似乎有些重复.
最好的方法是什么?我可以连接这些事件,所以我不需要举办新活动吗?
这是代码:
Class MyClass
Public Event OutputDataReceived(sender As Object, e As System.Diagnostics.DataReceivedEventArgs)
Public Sub Action()
....
AddHandler Process.OutputDataReceived, AddressOf ReadData
....
End Sub
Private Sub ReadData(ByVal sender As Object, ByVal e As System.Diagnostics.DataReceivedEventArgs)
RaiseEvent Me.OutputDataReceived(sender, e)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个基本的Windows应用程序,用户输入构建一个字符串,然后将其添加到剪贴板.如何使用Python将字符串复制到剪贴板?
我试图将日期添加到我的日志文件名中,并且我能够通过遵循我在stackoverflow中找到的一些建议来使其工作.一切正常,但由于某种原因,第一个文件总是有两次附加日期.
例如,而不是log.2009-02-23.log,我得到log.2009-02-23.log.2009-02-23.log.
我发现它很奇怪,而且这是一个非常简单的代码.这不像我在多线程环境中运行它.
我的log4net配置:
<log4net>
<appender name="MyLog" type="log4net.Appender.RollingFileAppender">
<file value="../../Logs/Mylog"/>
<staticLogFileName value="false" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyy-MM-dd.lo\g" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{DATE} [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="MyLog"/>
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
编辑:我想添加有关我正在测试的环境的信息.
- asp.net
- .net framework 2.0
- windows server 2003 64位服务包2
- log4net 1.2.10