全球主机交流论坛

标题: 看到实习生写这种狗屎代码时,我脑溢血犯了 [打印本页]

作者: ^^^    时间: 2024-7-10 16:54
标题: 看到实习生写这种狗屎代码时,我脑溢血犯了
```python
a = [1]
[dir(a)[i] for i in range(len(dir(a))) if (not dir(a)[i].startswith('_')) and callable(getattr(a, dir(a)[i]))]
```
该怎么委婉地劝他滚蛋呢?
作者: youhei    时间: 2024-7-10 16:55
将这段话发给他:https://fd.vvwvv.eu.org/thread-1324925-1-1.html
作者: 千牛    时间: 2024-7-10 16:55
就不能特么的写的正常人能理解的吗,搞那么长秀技术牛逼?
可能技术还行,但是过分去装了
作者: jqbaobao    时间: 2024-7-10 16:55
?没有缩进?
那自杀吧
丢AI 分析
作者: lewissue    时间: 2024-7-10 16:58
完了,我也这样写代码,怪不得做不了程序员
作者: 不吃南瓜    时间: 2024-7-10 16:58
回字的n种写法是吧
作者: ^^^    时间: 2024-7-10 16:59
千牛 发表于 2024-7-10 16:55
就不能特么的写的正常人能理解的吗,搞那么长秀技术牛逼?
可能技术还行,但是过分去装了 ...

也没看来他有技术啊,和他说了一万次了别tm写这种又臭又长的了…
这种到底是提前和HR说,还是最后他实习结束的时候给个“一般,不留用”的评价啊
作者: ^^^    时间: 2024-7-10 17:00
lewissue 发表于 2024-7-10 16:58
完了,我也这样写代码,怪不得做不了程序员

你现在做啥,要不我劝劝他转行?
作者: HOH    时间: 2024-7-10 17:03
如果循环里只有一行简单代码我可以接受,这种套IF的确实要劝退
作者: 黑客    时间: 2024-7-10 17:04
本帖最后由 黑客 于 2024-7-10 17:06 编辑

招C++不,我跟他写的差不多,给钱就干

  1.         bool Driver::load(
  2.                 std::string path,
  3.                 std::string deviceName,
  4.                 std::string symbolName,
  5.                 unsigned long startOptions
  6.         )
  7.         {
  8.                 SC_HANDLE hSCManager = OpenSCManagerA(NULL, NULL, startOptions);
  9.                 if (!hSCManager)
  10.                 {
  11.                         m_error = GetLastError();
  12.                         return false;
  13.                 }
  14.                 SC_HANDLE hService = CreateServiceA(hSCManager, m_serviceName.c_str(), m_serviceName.c_str(), SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, startOptions, SERVICE_ERROR_IGNORE, m_path.c_str(), 0, 0, 0, 0, 0);
  15.                 if (hService == NULL)
  16.                 {
  17.                         if (ERROR_SERVICE_EXISTS == GetLastError())
  18.                         {
  19.                                 hService = OpenServiceA(hSCManager, m_serviceName.c_str(), SERVICE_ALL_ACCESS);
  20.                                 if (hService == NULL)
  21.                                 {
  22.                                         CloseServiceHandle(hSCManager);
  23.                                         m_error = GetLastError();
  24.                                         return false;
  25.                                 }
  26.                         }
  27.                         else
  28.                         {
  29.                                 if (ERROR_SERVICE_MARKED_FOR_DELETE == GetLastError() || ERROR_DUPLICATE_SERVICE_NAME == GetLastError())
  30.                                 {
  31.                                         hService = OpenServiceA(hSCManager, m_serviceName.c_str(), SERVICE_ALL_ACCESS);
  32.                                         if (hService == NULL)
  33.                                         {
  34.                                                 CloseServiceHandle(hSCManager);
  35.                                                 m_error = GetLastError();
  36.                                                 return false;
  37.                                         }
  38.                                         SERVICE_STATUS status;
  39.                                         ControlService(hService, SERVICE_CONTROL_STOP,&status);
  40.                                         DeleteService(hService);
  41.                                         CloseServiceHandle(hService);
  42.                                         CloseServiceHandle(hSCManager);
  43.                                         hSCManager = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS);
  44.                                         if (hSCManager == NULL)
  45.                                         {
  46.                                                 m_error = GetLastError();
  47.                                                 return false;
  48.                                         }

  49.                                         hService = CreateServiceA(hSCManager, m_serviceName.c_str(), m_serviceName.c_str(), SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, startOptions, SERVICE_ERROR_IGNORE, m_path.c_str(), 0, 0, 0, 0, 0);
  50.                                         if (hService == NULL)
  51.                                         {
  52.                                                 CloseServiceHandle(hSCManager);
  53.                                                 m_error = GetLastError();
  54.                                                 return false;
  55.                                         }
  56.                                 }
  57.                                 else
  58.                                 {
  59.                                         m_path = "";
  60.                                         m_deviceHandle = NULL;
  61.                                         CloseServiceHandle(hSCManager);
  62.                                         m_error = GetLastError();
  63.                                         return false;
  64.                                 }
  65.                         }
  66.                 }
  67.                
  68.                 if (StartServiceA(hService, NULL, NULL) == 0)
  69.                 {
  70.                         if (ERROR_SERVICE_ALREADY_RUNNING != GetLastError())
  71.                         {
  72.                                 CloseServiceHandle(hService);
  73.                                 CloseServiceHandle(hSCManager);
  74.                                 m_path = "";
  75.                                 m_error = GetLastError();
  76.                                 return false;
  77.                         }
  78.                 }
  79.                
  80.                 m_deviceHandle = CreateFileA(("\\\\.\" + m_symbolName).c_str(),GENERIC_READ|GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
  81.                 if (m_deviceHandle == NULL)
  82.                 {
  83.                         SERVICE_STATUS status;
  84.                         ControlService(hService, SERVICE_CONTROL_STOP, &status);
  85.                         DeleteService(hService);
  86.                         CloseServiceHandle(hService);
  87.                         CloseServiceHandle(hSCManager);

  88.                         m_path = "";
  89.                         m_error = GetLastError();
  90.                         return false;
  91.                 }

  92.                 CloseServiceHandle(hService);
  93.                 CloseServiceHandle(hSCManager);
  94.                 return true;
  95.         }
复制代码

作者: 千牛    时间: 2024-7-10 17:06
黑客 发表于 2024-7-10 17:04
招C++不,我跟他写的差不多,给钱就干


这么长一段,注释没有吗
作者: lewissue    时间: 2024-7-10 17:09
^^^ 发表于 2024-7-10 17:00
你现在做啥,要不我劝劝他转行?

建站啊,MJJ大部分都做这个吧?
作者: huifukejian    时间: 2024-7-10 17:16
看不懂 是我太菜了
作者: ^^^    时间: 2024-7-10 17:27
黑客 发表于 2024-7-10 17:04
招C++不,我跟他写的差不多,给钱就干

之前和他一起招了一个C++的实习生,不过我不清楚情况怎么样。他们这一批实习结束还有两个月。
作者: 我是大白菜    时间: 2024-7-10 17:28
a = [1]
methods = [attr for attr in dir(a) if not attr.startswith('_') and callable(getattr(a, attr))]
作者: ^^^    时间: 2024-7-10 17:30
huifukejian 发表于 2024-7-10 17:16
看不懂 是我太菜了

不不不,是他的问题!
作者: ^^^    时间: 2024-7-10 17:32
我是大白菜 发表于 2024-7-10 17:28
a = [1]
methods = [attr for attr in dir(a) if not attr.startswith('_') and callable(getattr(a, attr) ...

是啊,也不需要搞列表索引那些乱七八糟的,不知道他怎么想的。
作者: 卡尔    时间: 2024-7-10 17:34
羡慕会写代码的        
作者: XiaoFaye    时间: 2024-7-10 17:38
黑客 发表于 2024-7-10 17:04
招C++不,我跟他写的差不多,给钱就干

牛逼!会不会把C代码转成C#?
作者: keepway    时间: 2024-7-10 17:42
能写不错了,秀操作
作者: weihu120    时间: 2024-7-10 17:59
黑客 发表于 2024-7-10 17:04
招C++不,我跟他写的差不多,给钱就干

膜拜驱动大佬
作者: micboy    时间: 2024-7-10 18:00
人才啊,以后肯定是以SP的身份入职
作者: weihu120    时间: 2024-7-10 18:00
这种直接打死算了,真有人能一眼看明白写的啥吗
作者: kvmgo    时间: 2024-7-10 18:12
代码和人,谁跑?
作者: 菜鸡鲲    时间: 2024-7-10 18:19
招鸿蒙不?
作者: yjsx86    时间: 2024-7-10 18:21
最开始学python的时候我也喜欢这样
还参加过一个挑战, 实现一个功能, 比谁的代码最短
作者: imtoken    时间: 2024-7-10 18:21
我喜欢这么牛逼的!我这个菜鸟只会把这行写成50行
作者: dvbhack    时间: 2024-7-10 18:26
团队有代码风格规范的话,明确告诉他要遵守代码规范,代码提交的时候可以加前置检查。不遵守团队规范可以作为让他滚蛋的理由。

如果团队没有代码规范,那么“又臭又长”就没有标准可依,你判断“又臭又长”,他判断“精简高效”呢?

不要做不教而诛的事。
作者: MasterCard    时间: 2024-7-10 18:29
这写的挺牛逼啊 我看了10秒才看懂逻辑
作者: reg01    时间: 2024-7-10 18:30
这么复杂 得看半天才明白。还是问ai吧
作者: GoogleCloud    时间: 2024-7-10 18:32
比我写的好,但不妨碍我一个月10k工资
作者: kennyS    时间: 2024-7-10 18:42
^^^ 发表于 2024-7-10 09:59
也没看来他有技术啊,和他说了一万次了别tm写这种又臭又长的了…
这种到底是提前和HR说,还是最后他实习 ...

肯定提前说啊,没问题三个月就转正了,你不说hr怎么知道。
之前遇过一次,同时期招了几个前端和后端开发,我们转正需要做述职报告,一般是要合作过的前后端人和他们的领导过去写评语。对面前端领导傻屌述职前一天劝退,hr一周前已经让他准备转正述职,让人写评语。
作者: ^^^    时间: 2024-7-10 19:38
kennyS 发表于 2024-7-10 18:42
肯定提前说啊,没问题三个月就转正了,你不说hr怎么知道。
之前遇过一次,同时期招了几个前端和后端开发 ...

谢谢,明白了!
作者: ^^^    时间: 2024-7-10 19:41
imtoken 发表于 2024-7-10 18:21
我喜欢这么牛逼的!我这个菜鸟只会把这行写成50行

个人项目随便你怎么写,进公司团队合作还是写成50行比较好。
作者: 非常店小二    时间: 2024-7-10 19:45
给人家一个新手村刷经验的机会
作者: guesser    时间: 2024-7-10 20:36
真有项目用python啊
作者: MasterCard    时间: 2024-7-10 20:39
GoogleCloud 发表于 2024-7-10 18:32
比我写的好,但不妨碍我一个月10k工资

一个月才10k工资饭都不够吃吧
作者: GoogleCloud    时间: 2024-7-10 20:58
MasterCard 发表于 2024-7-10 20:39
一个月才10k工资饭都不够吃吧

只能解决温饱
作者: diocat    时间: 2024-7-10 21:07
能跑就行,工资管够就行
作者: yanzhiling2002    时间: 2024-7-10 21:48
a = [1]
callable_methods = [name for name in dir(a) if not name.startswith('_') and callable(getattr(a, name))]
作者: yanzhiling2002    时间: 2024-7-10 21:50
def is_public(name):
    return not name.startswith('_')

def is_callable_attribute(obj, name):
    return callable(getattr(obj, name))

a = [1]
callable_methods = [
    name
    for name in dir(a)
    if is_public(name) and is_callable_attribute(a, name)
]


作者: xsbw    时间: 2024-7-10 22:00
喊老板重新招聘一个
作者: icon    时间: 2024-7-10 22:09
让gpt优化了一下   

作者: 风飘絮    时间: 2024-7-10 22:20
我吊代码不懂,但不妨碍我用GPT各种骚。GPT懂就行了啊。

最舒服的就是让它给我写各种奇葩需求的正则或者bat,有时候它还强烈要求调用powershell 加库
作者: Eric.c    时间: 2024-7-10 22:49
我喜欢这个,说明对技术有追求
作者: ji2318945    时间: 2024-7-10 22:50
新手村遇到楼主这样的挑剔人格,自求多福喽。
作者: ceft    时间: 2024-7-10 23:27
合理利用chatgpt   写完以后 美化加上注释  
作者: 黑客    时间: 2024-7-10 23:38
XiaoFaye 发表于 2024-7-10 17:38
牛逼!会不会把C代码转成C#?

不会C#..能C#转C..
作者: 黑客    时间: 2024-7-10 23:39
千牛 发表于 2024-7-10 17:06
这么长一段,注释没有吗

写注释不就跟楼主帖子里的不一样了吗
作者: 黑客    时间: 2024-7-10 23:40
weihu120 发表于 2024-7-10 17:59
膜拜驱动大佬

我是萌新..驱动大佬哪有事件逛loc
作者: 黑客    时间: 2024-7-10 23:43
^^^ 发表于 2024-7-10 17:27
之前和他一起招了一个C++的实习生,不过我不清楚情况怎么样。他们这一批实习结束还有两个月。 ...

社招待遇咋样啊大佬 有意向
作者: ^^^    时间: 2024-7-11 00:40
yanzhiling2002 发表于 2024-7-10 21:50
def is_public(name):
    return not name.startswith('_')

发给他了。让他好好看看。
但是,我不懂,列表推导式是能让人高潮吗为什么一定要用。
作者: ^^^    时间: 2024-7-11 00:41
icon 发表于 2024-7-10 22:09
让gpt优化了一下

看到这种我辞职,谁愿意谁伺候!
作者: BigBug    时间: 2024-7-11 00:42
除了可读性差 但是简洁高效

作者: ^^^    时间: 2024-7-11 00:43
Eric.c 发表于 2024-7-10 22:49
我喜欢这个,说明对技术有追求

不是,这怎么就有技术了?我没看出来。
编程技术,至少是算法落地的层次吧。
作者: ^^^    时间: 2024-7-11 00:54
黑客 发表于 2024-7-10 23:43
社招待遇咋样啊大佬 有意向

私你了。应该是有HC的。
作者: 我是大白菜    时间: 2024-7-17 20:54
^^^ 发表于 2024-7-10 17:32
是啊,也不需要搞列表索引那些乱七八糟的,不知道他怎么想的。

其实我完全不懂代码,一丁点都不懂,这是我让AI简化的。。。
作者: lotnpp    时间: 2024-7-17 21:44
感觉这段代码写的还行,大多数情况下,列表推导式效率更高且更易懂,缺少注释勉强称为缺点,毕竟写代码的人需要把看代码的当作傻瓜




欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/) Powered by Discuz! X3.4