新入行程序员成长的一点思考

2024-04-29 02:08

本文主要是介绍新入行程序员成长的一点思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近接触刚毕业的学生比较多,本科生和研究生都有,总感觉他们现在和刚毕业的自己很像,一个人摸索,别人的建议只是建议,悟性似乎还没有到那个境界,似乎必须经历过,才能长大,难道成长有没有捷径?

先说说在做Android的几个学生身上碰到的问题:

1、数据库操作,db打开后没有关闭,cursor游标用完没有关闭;

2、生搬硬套MVC/MVP,接口定义混乱,说不清接口作用或者参数作用;

3、函数名字随意,代码一致性和可读性差,类名小写开头,或者全大写;函数名大写开头,或者全小写;变量名大小写混用和小写加下划线命名混用;

4、syschronized关键字使用,修饰函数和修饰代码块作用不清楚;

5、单例模式滥用,static满天飞,同步互斥不知道怎么用,搞不清内存泄漏或者内存回收是怎么回事;

6、代码结构,那还是理不清捋还乱。

根据之前在HW的经验,这些应该都是军规红线,不能触碰的,难道是技术和基础不够?不知道是不是个例,但感觉挺心累的,不想他们和我们刚毕业那会那样一行代码两个bug,但如何快速的引导与提高?

最近几天一直跟着三个实习生做项目,想了想这块怎么提高他们的能力和整个项目的质量,或许对他们也是一种帮助吧。

1、细粒度拆分任务,以天为单位跟踪,主要的组织活动是:每天早上晨会确认前一天做了什么,以及今天做什么,有什么问题需要协助,另外当天安排的任务晚上就确认状态和问题。

之前接触他们有一个很明显的感觉就是,分配的任务做完之后,不主动反馈结果,过程中碰到的问题不主动沟通,等到最后节点问状态时,才发现有问题;所以主要对这几个问题考虑在一个项目能培养他们的职业习惯。

我们的项目是Android的APP,以类敏捷的方式开展,STORY的划分是主程来负责,然后拆分的任务基本上涵盖界面,界面的业务逻辑以及数据抽象上。

第一天的任务安排是熟悉产品的交互设计和各自分配的STORY,晚上加班两小时,找了几个老员工,让他们逐一讲解所负责的功能点,从做什么到怎么做都说清楚,并说明那些功能点需要做概要设计,概要设计需要包括复杂功能的业务流程,接口的功能定义和说明,数据库表结构的设计和说明;

第二天的任务是做概要设计和DT测试用例,同样是晚上加班两小时和找了几个老员工,对概要设计和用例做功能评审,并对可能存在疑问的地方做进一步确认;

第三天进入编码阶段,并根据STORY工作情况安排代码检视活动,确认DT用例执行结果后代码上传GIT库。

后续是测试活动,测试问题修改,代码检视和修改提交。

检视活动主要从功能实现、代码架构、代码风格是否遵循编程规范等方面给出建议,并在修改后需要进一步确认。

2、尽管有了流程,但结果或许不一定如你最初所想顺利实现所有的功能,所以适当的在他们的活动中加入老员工的协助很重要,主要包括:

某个功能点上有指定的老员工协助;

新增功能的接口设计上面由老员工来完成,做好框框,然后辅导实现;

复杂功能的实现上面有详细的流程图指导实现。

3、工作习惯上面的培养,事无大小,每一个问题都要严格对待,不放过任何一个问题,这个态度的培养可能需要老员工持续的跟踪,过程会比较累。

这篇关于新入行程序员成长的一点思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

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

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

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

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

【编程底层思考】详解Java的JUC多线程并发编程底层组件AQS的作用及原理

Java中的AbstractQueuedSynchronizer(简称AQS)是位于java.util.concurrent.locks包中的一个核心组件,用于构建锁和其他同步器。AQS为实现依赖于FIFO(先进先出)等待队列的阻塞锁和相关同步器提供了一套高效、可扩展的框架。 一、AQS的作用 统一同步状态管理:AQS提供了一个int类型的成员变量state,用于表示同步状态。子类可以根据自己

超声波清洗机哪个品牌比较好一点的?清洁力强的超声波清洗机品牌

随着生活水平的不断提升和幸福感的增强,珠宝、饰品和眼镜等物品已成为许多家庭的常备之物。然而,这些贵重细小的物件易于积聚微尘与隐形细菌,长此以往可能悄悄影响家人的健康,毕竟细菌是肉眼难以察觉的隐患。超声波清洗机应运而生,它以高科技手段有效地解决了这一隐忧,深层清洁,守护家人免受微小污染物的潜在威胁。不过现在市面上超声波清洗机品牌挺多的,究竟有哪些品牌的超声波清洗机比较好一点呢?接下来就为大家带来四款

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

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

AI产品经理成长蓝图:从入门到精通的学习路径指南

AI产品经理区别于普通产品经理的地方,不止在懂得AI算法,更重要的是具有AI思维。 人工智能产品设计要以操作极度简单为标准,但是前端的简单代表后端的复杂,系统越复杂,才能越智能。 同样,人工智能的发展依赖于产业生态的共同推进,上游芯片提供算力保障,中游人工智能厂商着力研发算法模型,下游应用领域提供落地场景。 一、人工智能产业链结构 人工智能产业链结构上可分为基础层(计算基础设施)、技术层(

科研小白成长记40——第三个五年计划

小gap期间,拼命玩和拼命休息的同时,仔细思考了下我期望的五年之后的样子,gap结束,算是目标愈发清晰起来。曾经,读博的目标是成为一名independent researcher,并且具备发至少一篇顶会的能力。而现在,希望五年后的自己,成为一名good independent researcher。当然,这里的good,根据现阶段的科研榜样,已经有了具体的metrics。 首先是随时在线的深度理解

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*