同事大概是 Java 写多了,写的 C#叹为观止

209 天前
 Lounode

项目内遇到个同事,以前听说是写 Java 的 这是现在他写的 C#,大概是这个样子的 Foo.cs

namespace xxx.xxx.util.CFoo {
	public class Foo {
    	
    }
}

Bar.cs

using xxx.xxx.util.CFoo
namespace xxx.xxx.tuil.CBar {
	public class Bar {
    	Foo foo = new Foo ();
    }
}

看他在那边写,配合编辑器自动填 using 无缝衔接 Java 了属于是(乐)

4978 次点击
所在节点    程序员
24 条回复
blackyoung
209 天前
创建一个类就写一个 namespace 么
Lounode
209 天前
@blackyoung 好像是,据他所说转过来时因为 namespace 工作不太一致灵机一动想了这个办法
看得我一愣一愣的(
undeflife
209 天前
其实这种跟原来写什么多大没关系,单纯就是菜
cnbatch
209 天前
问问他,为什么不能放在同一个 namespace ,“不一致”在哪些地方
看看他怎么回答
netabare
209 天前
其实也不是不行,如果他有一些重名的类或者属性的话就正好可以用上了( bushi

话说 Foo 那一行在 C#里面应该写 Foo foo = new (); 吧。
lyhiving
209 天前
问题不大吧,除非代码跑不了
cowcomic
208 天前
这跟 JAVA 有啥关系?没明白
thinkershare
208 天前
@Lounode 没看出有什么问题,我写了 10 年 C#,2 ,3 年 Java ,感觉没啥问题。
iamwho
208 天前
说实话,你要不跟上司反应把他炒了,要不提醒一下他,在网络上吐槽这点真的没意思,有些人的代码写出来就是最佳实现,但我相信你的不是。

你这个例子甚至不如 $bianliang_mima
ljrdxs
208 天前
我只用 C#实战过,没有 Java 工作经历。Java 为什么一个类一个命名空间?
sadfQED2
208 天前
我司也有这种人,写个 php,golang ,代码里面一堆 do vo dto ,然后还得整个依赖注入框架。非得在其他语言里面搞出 spring 那一套
kanezeng
208 天前
两个都写,Java 也不会一个类一个包啊?
blackyoung
208 天前
@ljrdxs java 没有命名空间的说法,只有包名的说法,包名相同不用 import ,否则要 import 。我倒是自学的 csharp 在写 unity ,也是一股 Java 味,想问下 csharp 的命名空间具体应该怎么划分呢,也是按包名划分么
blackyoung
208 天前
我猜他是不知道怎么命名 namespace ,不如用类名来命名了,我一开始也这样
ikas
208 天前
这是人的问题
xuanbg
208 天前
因为 Java 没有 namespace ,但是有 package 。事实上这两者基本上是一回事。但是,Java 也没有一个类一个 package 的说法呀?
sunhelter
208 天前
@netabare 这个貌似是 C# 11 的语法糖,.net 6 之后的版本才支持,所以也不算是问题
sunhelter
208 天前
@blackyoung 不用刻意划分,一般就是物理文件夹的路径
thevita
208 天前
@sadfQED2 依赖注入多好啊,刚改了,极大解放

不过我不喜欢 一堆 do vo dto 单纯不喜欢这个名字,有必要还是会用类似的分层方式
ljrdxs
207 天前
@blackyoung 对我而言不用刻意划分。同一业务方向,自然而言写一个命名空间里。
看到 Java 开发纠结“怎么划分”,我觉得诧异。这似乎很自然。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX