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

相关文章

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

如何保证android程序进程不到万不得已的情况下,不会被结束

最近,做一个调用系统自带相机的那么一个功能,遇到的坑,在此记录一下。 设备:红米note4 问题起因 因为自定义的相机,很难满足客户的所有需要,比如:自拍杆的支持,优化方面等等。这些方面自定义的相机都不比系统自带的好,因为有些系统都是商家定制的,难免会出现一个奇葩的问题。比如:你在这款手机上运行,无任何问题,然而你换一款手机后,问题就出现了。 比如:小米的红米系列,你启用系统自带拍照功能后

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

看完这个不会配置 logback ,请你吃瓜!

之前在 日志?聊一聊slf4j吧 这篇文章中聊了下slf4j。本文也从实际的例子出发,针对logback的日志配置进行学习。 logack 简介 logback 官网:https://logback.qos.ch/ 目前还没有看过日志类框架的源码,仅限于如何使用。所以就不说那些“空话”了。最直观的认知是: logback和log4j是一个人写的springboot默认使用的日志框架是

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

在项目开发中,jsp页面不会少了,如何公用页面(添加页面和修改页面)和公用样式代码(css,js)?

在项目开发中,如何公用添加页面和修改页面? <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html><head><title>岗位设置</title><%@ include file="/WEB-INF/jsp/public/common.jspf"%></head><body> <!-- 标

程序员都在使用的画图工具

大家好,我是袁庭新。 程序员都在使用的画图工具,你一定没用过这款画图工具吧!我教程中的架构图都是用它来画的。 比如我编写的RDB工作原理图就是用draw.io绘制的,如下图所示: 再例如Redis集群故障恢复原理图我也是通过draw.io工具绘制的,如下图所示: 是不是觉得draw.io绘制的图形特别简洁、美观。它的官网是: https://www.drawio.com dra

Java封装构造方法

private/public的分装 被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如: 可以看到我们是不能在main方法中直接调用被private修饰的变量 当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现 这里我们可以清楚了解 private 不光可以修