我总是想知道为什么我必须在文本编辑器中编写富文本代码注释aka 伪代码(来吧,粗体,下划线!)并回到IDE(集成?)来编写实际程序,更不用说确保这些文件保持在代码附近.
所以问题是,如果IDE允许富文本代码注释会怎样.它会帮助任何人吗?考虑到你可以强调或强调重要点并使用标题和子标题,也许可以让阴暗的图片更清楚地理解?
(是的,我知道我们可以用*重点*和******HEADER******来管理但是让我们开箱即用!
我在谈论集成在IDE中的RTF代码编辑器.
我现在有一个免费托管的FogBugz On Demand(FOD)产品项目.这非常适合功能/问题跟踪.但我一直在使用完全依赖于我的开发机器的代码库.我想与距离我几千英里的另一个人合作.所以我们需要一个源控制解决方案(SCM)!
我使用Visual Studio(2005,但可以根据需要升级到更高版本).
我知道FogBugz 可以与许多源控制系统集成.
那么现在的问题是:哪些在线 SCM产品能够与FOD和VS很好地集成?对于小型代码库,哪些可以低成本或无成本地完成.我在哪里可以找到一个经过验证的配方.
我对其他提供相同功能的解决方案持开放态度.请不要建议Trac - 我认为很高,但我想在我的问题跟踪解决方案中使用FOB(特别是基于证据的日程安排)的功能.实际上,我需要将FOB + VS +一些在线SCM产品组合成一个低成本或无成本的解决方案,供两个程序员进行协作.
我收到了Java产品的源代码以进行进一步的更改.存档包含一堆JAR文件.
是否足以开发应用程序或仅用于分发的文件?
是否有一种快速方法可以在Eclipse中查找Java文件中所有已注释掉的代码?"搜索"中的任何选项,或者任何可以执行此操作的加载项?
它应该只能找到注释掉的代码,但不能找到普通的注释.
如果可能的话,我想知道如何使CSS中的图像闪烁.我希望它闪烁在哪里.
我也想改变速度,但主要是我想让它眨眼.
我正在查看express.js源代码,以了解它如何将命名的路由参数映射到req.params属性.
对于那些不知道的人,在express.js中你可以用命名参数定义路由,使它们成为可选的,只允许具有特定格式的路由(以及更多):
app.get("/user/:id/:name?/:age(\\d+)", function (req, res) {
console.log("ID is", req.params.id);
console.log("Name is", req.params.name || "not specified!");
console.log("Age is", req.params.age);
});
Run Code Online (Sandbox Code Playgroud)
我意识到这个功能的核心是一个pathRegexp()在lib/utils.js中定义的方法.方法定义如下:
function pathRegexp(path, keys, sensitive, strict) {
if (path instanceof RegExp) return path;
if (Array.isArray(path)) path = '(' + path.join('|') + ')';
path = path
.concat(strict ? '' : '/?')
.replace(/\/\(/g, '(?:/')
.replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?(\*)?/g, function (_, slash, format, key, capture, optional, star) {
keys.push({ name: key, optional: !! optional });
slash …Run Code Online (Sandbox Code Playgroud) 在选择哪个重载方法正确时,Java通常更喜欢普通方法,这可能会生成以下sscce:
public class GenericsTest {
public static void main(String[] args) {
myMethod(Integer.class, 10);
myMethod(String.class, "overloaded method");
}
public static <T> void myMethod(Class<T> klass, T foo) {
System.out.println("hello world");
}
public static <T> void myMethod(Class<T> klass, String bar) {
System.out.println(bar);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
hello world
overloaded method
Run Code Online (Sandbox Code Playgroud)
有没有办法强制Java使用通用版本?
请考虑以下sscce
public enum Flippable
A (Z), B (Y), Y (B), Z (A);
private final Flippable opposite;
private Flippable(Flippable opposite) {
this.opposite = opposite;
}
public Flippable flip() {
return opposite;
}
}
Run Code Online (Sandbox Code Playgroud)
这不会编译,因为Z并且Y还没有被声明被允许作为A和B构造函数的参数.
可能的解决方案1: 硬编码方法
public enum Flippable {
A {
public Flippable flip() { return Z; }
}, B {
public Flippable flip() { return Y; }
}, Y {
public Flippable flip() { return B; }
}, Z { …Run Code Online (Sandbox Code Playgroud) Java阴影类型参数?我发现自己很难测试,因为Java泛型在运行时没有得到确认.
例如,给定此代码:
public class NestedGeneric<T> {
private InnerGeneric<T> innerGenericInstance;
private static class InnerGeneric<T> {
public T innerGenericField;
}
NestedGeneric() {
innerGenericInstance = new InnerGeneric<T>();
}
}
Run Code Online (Sandbox Code Playgroud)
以下两个语句编译正常:
NestedGeneric<Integer> test1 = new NestedGeneric<Integer>();
NestedGeneric.InnerGeneric<String> test2 = new NestedGeneric.InnerGeneric<String>();
Run Code Online (Sandbox Code Playgroud)
当NestedGeneric传递一个类型参数并调用其构造函数时,是什么T?它总是与传递给的类型参数相同nestedGeneric吗?
换句话说,可以将外部类类型参数传递给内部类泛型类型声明吗?
在此示例中,第二个catch块无法访问,因此我的代码无法编译.但是,如果我使用LimpExceptionextend RuntimeException而不是Exception,则编译没有任何麻烦.为什么?
public class Finals {
public void run() {
try {
spit();
} catch (HurtException e) {
System.out.println("");
} catch (LimpException ex) { // does not compile, unreachable code
System.out.println("");
}
}
public void spit() throws HurtException { // method that throws the Exception
}
public static void main(String... args) {
}
}
class LimpException extends Exception { // extends Exception vs extends
// RuntimeException
}
class HurtException extends LimpException {
}
Run Code Online (Sandbox Code Playgroud)