我是Python的新手,我想开发我的第一个认真的开源项目.我想问一下python项目的常见编码风格是什么.我还要说明我现在正在做的事情.
1.-最广泛使用的色谱柱宽度是多少?(永恒的问题)
我现在坚持80列(这很痛苦!)
2.-使用什么报价?(我已经看到了所有内容,而PEP 8并没有提到任何明确的内容)
我使用单引号来处理除了docstrings之外的所有内容,它使用三重双引号.
3.-我在哪里进口?
我按此顺序将它们放在文件头中.
import sys
import -rest of python modules needed-
import whatever
import -rest of application modules-
<code here>
Run Code Online (Sandbox Code Playgroud)
4.-我可以使用"import whatever.function as blah"吗?
我看到一些文件忽视这样做.
5.-用于缩进的标签或空格?
目前使用4个空格标签.
6.-可变命名风格?我使用小写除了类之外的所有东西,我把它放在camelCase中.
你会推荐什么?
python coding-style naming-conventions column-width indentation
我正在将double转换为char字符串:
char txt[10];
double num;
num = 45.344322345
sprintf(txt, "%.1f", num);
Run Code Online (Sandbox Code Playgroud)
并使用".1f"截断小数位,到十分位数.
ie - txt包含45.3
我通常在sprintf中使用precision来确保char缓冲区不会溢出.我怎么能在这里也截断小数,而不使用snprintf?
(即如果由于某种原因,num = 345694876345.3)
谢谢
编辑如果num是>缓冲区,结果不再重要,只是不想崩溃.不确定在这种情况下最有意义的是什么.
EDIT2我应该比标签更清晰,这是一个C程序.我在C程序中使用snprintf时遇到问题.我不想添加任何第三方库.
我正在尝试调试一个应用程序,这个应用程序会抛出奇怪的(对我未经过眼睛处理的)错误.当我尝试简单地记录数组的计数时......
NSLog(@"Array has %i items", [[self startingPlayers] count]);
Run Code Online (Sandbox Code Playgroud)
...我有时会收到错误:
-[NSCFString count]: unrecognized selector sent to instance 0x1002af600
Run Code Online (Sandbox Code Playgroud)
或其他时间
-[NSConcreteNotification count]: unrecognized selector sent to instance 0x1002af600
Run Code Online (Sandbox Code Playgroud)
我没有向任何NSString或NSNotification发送'count',这行代码正常工作.
理论......
虽然错误有所不同,但崩溃发生在可预测的时间,在我运行了一些其他代码之后,我认为我可能会遇到内存管理问题.是否有可能对象引用仍指向要销毁的东西?对不起,如果我的条款关闭了,但也许它期望数组在它所谓的'count'的地址,但是找到另一个不应该存在的前一个对象(例如NSString)?这会导致问题吗?
如果是这样,调试和找出该地址的最有效方法是什么?到目前为止,我的大多数调试都涉及插入NSLog,因此这将是学习如何使用调试器的好机会.
我正在使用此问题中提到的自动构建版本控制(不是选定的答案,而是使用该[assembly: AssemblyVersion("1.0.*")]技术的答案).我在MVC 2中的Site.Master文件的页脚中执行此操作.我执行此操作的代码如下:
<div id="footer">
<a href="emailto:webmaster@foo.com">webmaster@foo.com</a> - Copyright © 2005-<%= DateTime.Today.Year.ToString() %>, foo LLC. All Rights Reserved.
- Version: <%= Assembly.GetEntryAssembly().GetName().Version.ToString() %>
</div>
Run Code Online (Sandbox Code Playgroud)
我得到的例外是Object reference not set to an instance of an object因为GetEntryAssembly()返回NULL.我的其他选择也不起作用.GetCallingAssembly()始终返回"4.0.0.0"并GetExecutingAssembly()始终返回"0.0.0.0".当我查看我的DLL时,一切都是我期望的版本控制.但我无法弄清楚如何访问它以显示在我的页脚!
我们刚刚将Visual Studio 2008项目升级到Visual Studio 2010.我们使用Verisign代码签名证书对所有程序集进行了强签名.自升级以来,我们不断收到以下错误:
无法导入以下密钥文件:companyname.pfx.密钥文件可能受密码保护.要更正此问题,请尝试再次导入证书,或使用以下密钥容器名称手动将证书安装到强名称CSP:VS_KEY_3E185446540E7F7A
这种情况发生在一些开发者机器而不是其 用于解决此问题的一些方法在某些时候起作用包括:
我已经尝试使用SN.EXE实用程序(强名称工具)来注册具有强名称CSP的密钥,如错误消息所示,但每当我使用Visual Studio 2010附带的版本运行任何选项的工具时,SN .EXE只列出其命令行参数而不是执行任何操作.无论我提供什么参数,这都会发生.
为什么会发生这种情况,以及解决这个问题的明确步骤是什么?我即将放弃ClickOnce安装和Microsoft代码签名.
我有一个场景,我有单个入口点Servlet和进一步的Servlet请求被转发到进行繁重处理.
我正在寻找分配此负载的选项,我想知道是否可以使用Tomcat或其他平台在使用群集类型配置或类似设置的不同服务器上的Servlet之间转发请求.
我已经找到了一些关于集群Servlet和Tomcat的文档,但没有一个表明我可以看到Servlet请求转发是否可行.
通常我想在源视图中调出一个系统类,以便我可以浏览该类公开的属性和方法.以下是我的意思截图:
来自元数据http://img443.imageshack.us/img443/940/stringfrommetadata.png
通常我通过选择类名并按F12(或右键单击>转到定义)来执行此操作.但是,如果我没有准备就绪,我已经打字,然后去Go To Definition.大多数时候我必须删除我稍后输入的内容.
有没有办法在不必输入类名的情况下调出此视图?VS2010" 导航到"对话框不支持此功能.
编辑:当我发布问题时,我没有使用任何Visual Studio插件.现在我意识到我已经拥有完整的CodeRush许可证(感谢StackOverflow对10K rep用户的推广)我将接受使用CodeRush或Refactor!的答案.
编辑:在这个阶段,我还没有尝试回答这个问题.我将把它打开并让赏金自动授予Rory,因为他解释了最好的情况.在此期间(时间表允许)我将调查使用DXCore这样做,因为我认为它应该是可能的.
我有一台带有双核3.6G CPU和4megs的Windows XP机器.我对表演不满意.我想知道VS 2010中的编译是否是多线程的,VS 2010是否可以从双核到四核机器的转换中受益?
当我添加#include <cstdio>
到C程序时,我在cstdio中遇到了大量错误.
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2143: syntax error : missing '{' before ':'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2059: syntax error : ':'
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑 - 我想使用snprintf,这就是我试图包含这个的原因.
我对访问一些无效数据有疑问.操作系统如何导致这样的场景出现分段错误:
假设一块数据长100字节,在4K页面的开头对齐.如果我们访问页面的前100个字节内的有效数据,这将把页面加载到内存中,并将页面表项置于TLB中.如果我们现在尝试访问100和4K之间的一些无效数据,因为条目已经存在于页表中,我们是否可以访问无效数据?
c ×2
arrays ×1
asp.net-mvc ×1
cocoa ×1
coding-style ×1
column-width ×1
include ×1
indentation ×1
intellisense ×1
java ×1
linux ×1
objective-c ×1
passwords ×1
performance ×1
pfx ×1
python ×1
servlets ×1
string ×1
tomcat ×1
versioning ×1