同事大概是 Java 写多了,写的 C#叹为观止 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Lounode
V2EX    程序员

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

  •  1
     
  •   Lounode 2023 年 10 月 14 日 6083 次点击
    这是一个创建于 819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目内遇到个同事,以前听说是写 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 了属于是(乐)

    24 条回复    2023-10-16 11:43:53 +08:00
    blackyoung
        1
    blackyoung  
       2023 年 10 月 14 日 via Android
    创建一个类就写一个 namespace 么
    Lounode
        2
    Lounode  
    OP
       2023 年 10 月 14 日
    @blackyoung 好像是,据他所说转过来时因为 namespace 工作不太一致灵机一动想了这个办法
    看得我一愣一愣的(
    undeflife
        3
    undeflife  
       2023 年 10 月 14 日   2
    其实这种跟原来写什么多大没关系,单纯就是菜
    cnbatch
        4
    cnbatch  
       2023 年 10 月 14 日
    问问他,为什么不能放在同一个 namespace ,“不一致”在哪些地方
    看看他怎么回答
    netabare
        5
    netabare  
       2023 年 10 月 14 日   1
    其实也不是不行,如果他有一些重名的类或者属性的话就正好可以用上了( bushi

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

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

    不过我不喜欢 一堆 do vo dto 单纯不喜欢这个名字,有必要还是会用类似的分层方式
    ljrdxs
        20
    ljrdxs  
       2023 年 10 月 16 日 via Android
    @blackyoung 对我而言不用刻意划分。同一业务方向,自然而言写一个命名空间里。
    看到 Java 开发纠结“怎么划分”,我觉得诧异。这似乎很自然。
    liuidetmks
        21
    liuidetmks  
       2023 年 10 月 16 日   2
    码农相轻,都是 crud ,真没必要专门发帖讽刺别人
    Promtheus
        22
    Promtheus  
       2023 年 10 月 16 日
    @liuidetmks #21 一般菜鸡逮到机会就要说别人菜,毕竟就会这些东西。
    winrar
        23
    winrar  
       2023 年 10 月 16 日
    @Promtheus 一般是这样的,都是搬砖的,非得踩别人一脚。
    cppgohan
        24
    cppgohan  
       2023 年 10 月 16 日
    自己这些年写 java/kotlin 多, 写 C# 的 namespace, 也都是全小写了, 和类名大小写做区分, 但不会给类单独弄一个命名空间 ... 感觉 C#标准写法应该似乎都是首字母大写?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2620 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 02:27 PVG 10:27 LAX 18:27 JFK 21:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86