问题列表 - 第5597页

函数/过程/方法应该有多少行代码?

可能重复:
函数何时太长?

我最近得到了一个不值得羡慕的任务,即审查另一个开发人员编写的糟糕代码并记录不良做法.(当然,这都是出于为开发人员的工作付出代价而不是任何无私的理由!)

经过审核的代码有几行代码,其中包含多行代码 - 最长的代码是600行.我想到的几个问题是可维护性和可读性.

诀窍在于我需要为一个外行人辩护,为什么这是一个不好的做法,如果可能的话,用一本备受好评的当前参考书备份它.类比也很好.

有任何想法吗?

重复: 函数何时太长?
重复: 最大功能大小的最佳规则?

refactoring coding-style function code-metrics

48
推荐指数
4
解决办法
4万
查看次数

可以从 Ada 调用 C++ 函数吗?

可以从 Ada 调用 C++ 函数吗?

我想知道是否有一种方法可以直接执行此操作,而无需在 C 中进行实现并编写 C++ 包装器和 Ada 包装器,例如我想要使用 c++ -> Ada 而不是 c++ -> c -> Ada。

c++ ada

6
推荐指数
2
解决办法
8095
查看次数

使用JavaScript进行强大的键盘快捷键处理

使用JavaScript为Web应用程序创建全局键盘快捷键处理程序的最强大的方法是什么,即我应该处理哪些事件以及事件处理程序应该附加到什么?

我希望像Gmail中的系统一样可以处理单键按键快捷键以及带有修饰键的快捷键,例如Ctrl + B等.代码必须在IE 6以及现代浏览器中运行.

我可以使用Prototype框架而不是jQuery,所以请不要使用jQuery特定的答案!

javascript prototypejs

5
推荐指数
2
解决办法
3304
查看次数

如何在MySQL中将自动增量格式设置为0001?

如何以4位数格式自动增加MySQL?

那么代替'1'制作'0001'?

mysql

20
推荐指数
4
解决办法
6万
查看次数

Web可访问性 - 配置为读取"标题"属性时屏幕阅读器的行为

我被告知,如果'title'属性扩展了控件可见文本中的内容,它应该包含可见文本中的所有信息,因为屏幕阅读器可能会读取标题而不是可见文本.为了弄清楚它是如何工作的,以下任何一点都是正确的(对于必须的屏幕阅读器)?

  1. 如果使用"for"属性将标签与输入字段相关联,并且设置了输入字段的title属性,则屏幕阅读器将只读取title属性并忽略标签文本.

  2. 如果具有自己的文本的控件(如按钮)同时提供了可见文本和title属性,则只会读取title属性.

  3. 即使开发人员忽略了为该特定控件提供title属性(最极端的可能性),屏幕阅读器也会忽略按钮控件的可见文本.

w3c accessibility web-applications wcag

7
推荐指数
1
解决办法
559
查看次数

这行javascript有什么作用?

在查看jslint代码约定时,我看到了这一行:

total = subtotal + (+myInput.value);
Run Code Online (Sandbox Code Playgroud)

第二个'+'的目的是什么?

javascript

14
推荐指数
2
解决办法
1791
查看次数

你如何使用Perl的sed?

我知道如何使用sedgrep,但在Perl中下面的失败.如何sed在Perl程序中工作?

chomp (my @lineNumbers=`grep -n "textToFind" $fileToProcess | sed -n 's/^\([0-9]*\)[:].*/\1/p'`)
Run Code Online (Sandbox Code Playgroud)

perl sed

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

如何用Perl的功能给人们留下深刻的印象?

我想为我的同事做一个演示,它将展示Perl可以做的一些令人惊奇的事情,这些事情会让程序员和非程序员都对自己说,"你能做到这一点吗?" 我真的很想转过头来,因为很多人都认为Perl是一种垂死的语言,但也很有趣和有趣.

我的一些想法是以下模块的演示:

有什么建议或意见吗?

顺便说一句,我们是一家科技公司(运营数据中心),因此我的同事的计算机知识水平很高.

perl

16
推荐指数
6
解决办法
4548
查看次数

FireFox这个功能

为什么Firefox无法解决这个问题.此代码适用于IE.

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<script type='text/javascript'>
function drvFunc(elem)
{
    var e = elem.name;
    var d = "document."
    var f = "frm";
    var str = d+"."+f+"."+e+".value;";
    alert(eval(str));
}
</script>
<BODY>
<form name=frm method=post>
<input type=button name=myButton id=myButton value='MyButton' onclick='drvFunc(this)'>
</form>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

javascript firefox internet-explorer this

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

翻转NSViews图层的坐标(CALayer)

我在awakeFromNib中这样做了:

drawLayer = [CALayer layer];
self.layer = drawLayer;
[self setWantsLayer:YES];
Run Code Online (Sandbox Code Playgroud)

有一个"添加:"动作

// some  business logic

    [drawLayer addSublayer:layer];
    [self layout];

-(void)layout
while(pg = [pageEnumr nextObject])

    {
    //rect is calculated so that layers are added in order (left to right)
    [pg setFrame:rect];
    }
Run Code Online (Sandbox Code Playgroud)

我希望子图层从superLayer(视图的CALayer)的左上角添加,但它们是从左下角添加的

我试过affineTranform

   CGAffineTransform  trans = CGAffineTransformMake(1.0,0.0,0.0,-1.0,0.0,0.0);
   self.layer.affineTransform =    trans;
Run Code Online (Sandbox Code Playgroud)

但滚动让我的子层消失了

我用过变换

CATransform3D aTransform = CATransform3DIdentity;
aTransform = CATransform3DMakeRotation(M_PI, 1, 0, 0);  
self.layer..transform = aTransform; 
Run Code Online (Sandbox Code Playgroud)

我必须将变换应用于反向旋转子层,并且在添加大约100个子层之后,滚动变慢并且应用程序变得无响应

如果我不应用任何变换(没有仿射或没有变换),那么即使在添加1000个子层之后应用也很快

我的应用程序必须托管大量不同大小的层.帮助我如何使托管层采取翻转坐标...

cocoa core-animation

2
推荐指数
1
解决办法
3740
查看次数