您是否遵循源代码中包含长行的标准?您觉得哪种线路长度最舒适?
有时我发现有人在宽屏显示器上编程并喜欢用它的全宽来显示源代码.我更喜欢较短的线条,大约80-100个字符,但我很难说服同事随着宽屏设备的日益普及.
编辑:
类似的问题:
所以我有一个像这样的Ruby方法:
def something(variable, &block)
....
end
Run Code Online (Sandbox Code Playgroud)
我想这样称呼它:
something 'hello' { do_it }
Run Code Online (Sandbox Code Playgroud)
除非这对我不起作用,否则我会收到语法错误.如果我这样做,它的工作原理:
something 'hello' do
do_it
end
Run Code Online (Sandbox Code Playgroud)
除了那里,我有点想念它在一条线上的漂亮外观.
我可以看到为什么会发生这种情况,因为它可能看起来像是作为第二个变量传递的哈希,但变量之间没有逗号...但我认为必须有办法处理这个我'我失踪了.在那儿?
我的应用程序发送给第三方SOA服务器的数据是复杂的XML.服务器所有者确实提供了XML模式(.xsd),并且由于服务器拒绝无效的XML消息,我需要在发送之前在本地验证它们.
我可以使用独立的XML模式验证器,但它们很慢,主要是因为解析模式文件所需的时间.所以我以HTTP服务器的形式编写了我自己的模式验证器(在Java中,如果这很重要),缓存已经解析的模式.
问题是:在验证过程中很多事情都可能出错.除意外异常和成功验证外:
由于它是HTTP服务器,我想为客户端提供有意义的状态代码.对于上述所有情况,服务器是否应答400错误(错误请求)?或者它们与HTTP无关,它应该在正文中回复200并带有消息?还有其他建议吗?
更新:主应用程序是用Ruby编写的,它没有一个好的xml架构验证库,因此单独的验证服务器不会过度工程.
大家都知道自动化测试是件好事.
不是每个人都知道要测试什么.
我的问题是,是否应在应用程序中测试validate_presence_of,validate_uniqueness_of等本机验证.
在我的办公室,我们三个人,一个人认为应该进行测试,一个人认为不应该这样,我在空中.
我的应用程序需要一个模型(?),它基本上包含另一个实体的状态.在实体中我想存储状态的ID,但在我的应用程序中,视图是根据一个好的单词描述进行讨论.例如,1 =新的,2 =使用等等.
我怎样才能以最好的方式实现这一点,这意味着我可以轻松设置和检索此状态列而无需重复自己?
最终我想要的东西
Foo.status = 'New' (actually sets value to 1)
Run Code Online (Sandbox Code Playgroud)
和
Foo.status (returns 'New', but stores 1)
Run Code Online (Sandbox Code Playgroud)
我是否以正确的方式思考这个问题?
我的Rails应用程序的职责之一是创建和提供签名的xmls.任何签名的xml一旦创建,就永远不会改变.所以我将每个xml存储在public文件夹中并适当地重定向客户端以避免从控制器进行不必要的处理.
现在我想要一个新功能:每个xml都与一个日期相关联,我想实现提供包含每个xml的压缩文件的能力,该xml的日期位于客户端指定的时间段内.尽管如此,该功能有用的时间不能限制在一个月以内,这意味着一些服务的zip文件将大到50M.
我的应用程序部署为Apache的Passenger模块.因此,服务文件是完全不可接受的send_data,因为客户端必须等待在实际下载开始之前生成整个压缩文件.虽然我对如何在Rails中实现该功能有了一个想法,所以压缩文件是在服务时生成的,但我觉得一旦分配了一些冗长的Ruby/Passenger进程来提供大型zip文件,我的服务器就会缺乏资源.
我读过有关通过Apache提供静态文件的更好解决方案,但不是动态的.
那么,问题的解决方案是什么?我需要类似自定义Apache处理程序的东西吗?如何从我的应用程序通知Apache如何处理请求,压缩文件和同时流式传输结果?
我需要知道为什么我的应用程序在Android真实手机启动后没有立即运行?我的应用程序在启动几秒后运行.
我的代码是
public class AutoStart extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
Intent i = new Intent(context, MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的活动正在运行,但是在几秒钟的启动完成之后.可以减少这几秒吗?
我想立即运行我的应用程序.我不想让用户访问手机.
我正在尝试用g ++编译一些以前在Visual C++ 2008 Express Edition下开发的代码,看起来g ++不会让我在模板变量方法返回的引用上调用模板方法.我能够将问题缩小到以下代码:
class Inner
{
public:
template<typename T>
T get() const
{
return static_cast<T>(value_);
};
private:
int value_;
};
class Outer
{
public:
Inner const& get_inner() { return inner_; };
private:
Inner inner_;
};
template<typename T>
int do_outer(T& val)
{
return val.get_inner().get<int>();
}
int main()
{
Outer outer;
do_outer(outer);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
代码在Microsoft的编译器下编译得很好,但是g ++会抛出一个错误:
$ g++ -c main.cpp
main.cpp: In function ‘int do_outer(T&)’:
main.cpp:24: error: expected primary-expression before ‘int’
main.cpp:24: error: …Run Code Online (Sandbox Code Playgroud) 考虑C函数int get_events(),它返回以下事件的位掩码:
#define EVENT_KEY_DOWN 1
#define EVENT_KEY_UP 2
#define EVENT_KEY_PRESS 4
Run Code Online (Sandbox Code Playgroud)
5例如,它可以返回意味着两者EVENT_KEY_DOWN并且EVENT_KEY_PRESS被触发.
我想到了以下方法将函数中的值返回到Python代码:
5(1, 4)('EVENT_KEY_DOWN', 'EVENT_KEY_PRESS')(在所有情况下,我都可以声明常量,例如mymodule.EVENT_KEY_DOWN和mymodule.EVENT_KEY_PRESS.)
有没有"推荐"的方式?
我想编写一个库,该库将从在Windows,Linux和OS/X等现代操作系统上运行的其他程序动态链接(即它将作为一个.dll或.so模块部署).
在这种情况下,最合适的语言是什么?我应该坚持使用普通的C吗?或者C++也可以吗?
c ×2
c++ ×2
ruby ×2
validation ×2
android ×1
apache ×1
api ×1
bitmask ×1
coding-style ×1
formatting ×1
g++ ×1
gcc ×1
http ×1
portability ×1
python ×1
streaming ×1
syntax ×1
templates ×1
unit-testing ×1
xml ×1
xsd ×1
zip ×1