6年的程序员还不会写委托很严重?不会封装才叫可怕!

2024-01-08 14:30

本文主要是介绍6年的程序员还不会写委托很严重?不会封装才叫可怕!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天在闲聊,一位群友的话突然引起了我的兴趣,

有个6年经验老手,委托都不会写?

于是我反问了一句:

为什么你会觉得6年老手就要会写委托呢?

其实我经常看到这种说法,但本能的我就觉得不舒服。为什么呢?

首先,我自己就是个老码农,然后我自己知道自己其实很多东西都还不会

我记得我有一个回答, 面试前端工作7年以上的人,总感觉他们水平一般般 ?我的回答:

换一下,让他来面试你,你就知道他有多厉害了。

第一个层次的解释可以是:你不能用别人刚好不熟悉的领域来判断一个人。

很多人假设知识之间的关系是这样的:

而没有意识到,更多时候真实的关系是这样的:

甚至是这样的:

其实说:“xxxx还不知道/会xxxx”的人,他们潜意识里就认为知识结构是“金字塔”或者“阶梯”形状的,同时把你不会的那一个知识点放在了“基础”级上,进而再推论出:你基础的都不会,上面的自然更不会了。这对不对呢?只能说有时候对,有时候不对。

作为程序猿,理解这一点其实应该更容易,因为:

封装!

我不觉得6年的程序员不会写“委托”有什么问题,但我发现很多6年经验的程序员不懂得“封装”才是要命的。(好吧,夸张了一点,其实也没那么严重,只要能把功能实现一样可以领工资,不要命,O(∩_∩)O哈哈~)

假如我问:面向对象的封装是干嘛用的?我估计很多同学会回答public/private之类的……

但其实不是的,或者说,远不止于此。

封装的作用,是屏蔽细节,或者说屏蔽复杂度。

简单的说,就是让你“没有基础”“不知道原理”一样可以干活。

我们可以想象,如果没有封装的话,在现代社会,从事一个任何职业,得有多累!因为任何事情,你都要从“基础”学起,要了解他的“原理”,天啊,一台汽车多少零部件多少力学原理,车间装配工人要了解这些怕是博士生都不够用。

我们程序开发人员也是一样的,至少软件就只管软件,别去关心硬件,这是一个最基本的隔离(封装)……别拽你学了计算机组成原理,USB2.0和3.0的区别说得清楚不?会造不?还有说什么数据结构和算法的,天天在用的MD5加密,算法怎么实现的,为什么不可逆你说得清楚不?你不知道,这不丢人,因为你也根本不需要知道。他们被封装好了,你只需要拿过来,直接使用它,完成你的工作就OK了,这一点不丢人。

我真不明白为什么程序员圈子里会有这么奇怪的一个文化:用别人封装好的东西就是丢人。每个人都想去造轮子,有必要么?看看现在前端造出来的那些铺天盖地、奇形怪状的轮子,不知道他们是怎么想的

现在的大部分人,一方面他们想学“最新的”技术,但另一方面,他们有很强调“基础”。

我的原则:当你理解当前的事物很困难的时候,如果其发展历史可以帮助你理解,我就会给你讲一讲它的历史;否则,没有太大的必要,甚至有可能会有副作用。

比如我刚入行的时候,理解C#里面的“引用”,很多书籍资料都会提到“指针”——那时候我不知道“指针”啊,我理解“引用”都很困难了,你还给我搅一个“指针”进来,这不是把一个复杂的问题搞得更复杂了么?但是我在讲JavaScript的时候,讲了一下这门语言的“黑历史”,很多同学给我反映:茅塞顿开,原来如此……

委托的语法很简单,最多十分钟就学会了。

搞明白为什么要有委托、什么时候用委托才是最关键的!

要说基础,这才是基础;要说本事,这才是本事。

无论是在学习web前端开发,还是已经工作的,这里推荐一下我们的前端学习交流群:784783012 ,这里是把梦想照亮的地方,同为了生活而拼搏奋斗,大家互相帮助。新手加入即可获得经过整理的最前沿的前端技术资料,不定时更新技术,从企业招聘人才需求 到怎么学习前端开发,和学习什么内容都有免费系统分享。好友都在里面交流,欢迎加入

点击:加入

这篇关于6年的程序员还不会写委托很严重?不会封装才叫可怕!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583766

相关文章

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日,在阿里云上海 AI 峰会上,阿里云宣布推出首个AI 程序员。 据介绍,这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。 近段时间以来,有关AI的实践应用突破不断,全球开发者加速研发步伐。有业内人士坦言,随着大模型性能逐渐提升,AI应

axios全局封装AbortController取消重复请求

为什么? 问题:为什么axios要配置AbortController?防抖节流不行吗? 分析: 防抖节流本质上是用延时器来操作请求的。防抖是判断延时器是否存在,如果存在,清除延时器,重新开启一个延时器,只执行最后一次请求。节流呢,是判断延时器是否存在,如果存在,直接return掉,直到执行完这个延时器。事实上,这些体验感都不算友好,因为对于用户来说,得等一些时间,尤其是首次请求,不是那么流畅

Python利用qq邮箱发送通知邮件(已封装成model)

因为经常喜欢写一些脚本、爬虫之类的东西,有需要通知的时候,总是苦于没有太好的通知方式,虽然邮件相对于微信、短信来说,接收性差了一些,但毕竟免费,而且支持html直接渲染,所以,折腾了一个可以直接使用的sendemail模块。这里主要应用的是QQ发邮件,微信关注QQ邮箱后,也可以实时的接收到消息,肾好! 好了,废话不多说,直接上代码。 # encoding: utf-8import lo

线程封装,互斥

文章目录 线程封装线程互斥加锁、解锁认识接口解决问题理解锁 线程封装 C/C++代码混编引起的问题 此处pthread_create函数要求传入参数为void * func(void * )类型,按理来说ThreadRoutine满足,但是 这是在内类完成封装,所以ThreadRoutine函数实际是两个参数,第一个参数Thread* this不显示 解决方法: 第

示例:推荐一个基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器

一、目的:基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器,感兴趣的可以去下方链接地址查看开源控件库地址。本控件封装的目的在于将第三方库的皮肤和样式封装到皮肤库中可统一设置样式,同时生成nuget方便调用 二、效果如下 三、环境 VS2022 Net7 四、使用方式 1、安装nuget包:H.Con

Groovy:程序员的 DSL

什么是DSL? 领域特定语言,针对一个特定的领域,具有受限表达性的一种计算机程序语言。可以看做是一种抽象处理的方式。 具有四个元素,第一个是计算机程序设计语言,使用DSL来指挥计算机做事情,语言性(一种特定的语言),受限的表达性,并不像同通用的设计语言那样具有广泛的能力,针对一个明确的领域。 分类有哪些? 外部DSL:不同于应用系统主要使用语言的语言,通常采用自定义语法,宿主应用的代码采用

C语言封装获取本机IP地址的程序

文章目录 0.概要1. 设计2. 完整的代码`ip_address.h``ip_address.c``main.c`编译命令执行结果 0.概要 本文介绍用C语言编写一个函数来获取本机的IP地址。 1. 设计 将获取IP地址的逻辑封装到一个独立的函数中,并定义一个结构体来存储IP地址和接口名称。 将获取IP地址的逻辑封装到一个函数中,该函数遍历本机的所有网络接口并获取其IP

某大厂程序员吐槽:离职交接时,新人被工作量吓退,领导却污蔑我故意劝退新人,我怒晒工作短信反击证明,新人看了后也决定走人了!

一位知名大公司的程序员分享了他离职时的遭遇:在交接工作时,新进的同事因工作量过大而感到压力,但出乎意料的是,他们的领导却指责我故意吓唬新人。为了证明自己的清白,我晒出了工作短信作为反击,结果连新人也决定离开。 在任何组织里,团队文化的优劣都是决定工作效率和质量的关键。一个和谐相处的团队不仅能提升工作效率,还能使工作氛围变得轻松愉快。 然而,一旦团队内部出现权力斗争或领导偏爱小团体、