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

2023-10-14 23:02:07 +08:00
 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 了属于是(乐)

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

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

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

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

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

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

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

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

© 2021 V2EX