《侃侃而谈 · 关于接外单的一些事》

news2024/11/28 22:44:39

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数,如需交流,欢迎留言评论。👍

文章目录

    • 写在前面的话
    • 准备 · 提炼模板项目
    • 准备 · 代码生成器
    • 准备 · 数据库设计
    • 准备 · 小程序模板
    • 外单工作流程
    • 总结陈词


写在前面的话

这篇也是闲聊一下,关于做外单相关的话题。
程序猿偶尔都会兼职做一些非公司的开发任务,或者帮朋友开发一些系统,这都无可厚非。既能赚点小钱,也能扩充代码知识面,两全其美。
正所谓:“工欲善其事,必先利其器”,做外单开发有一个趁手的工具和模板是很重要的,不然如何靠一个人,完成全栈工作的快速开发。


准备 · 提炼模板项目

这也是第一步,在前几个项目中,不断摸索合适的框架,每个领域一套,比如后端框架、前端框架、后台管理、小程序端等等,当完成若干项目后,可以着手提炼出自己觉得,可以作为后续项目的通用模板。
这样下一个项目过来的时候,可以省去不少技术选型工作,直接开始需求分析和设计工作。
image.png


准备 · 代码生成器

提炼好模板项目后,着手定制化修改对应的代码生成器。
这点也很重要,外单讲究一个高效,怎么还能一个个文件都去码出来?
代码生成器市面很多,找到合适自己的,尽量寻找那种可以按自身模板来定制的。
要生成的文件包含但不限于:controller、service、mapper、xml、entity、api.js、page.vue
image.png


准备 · 数据库设计

再接着准备好数据库设计工具,比如PowerDesigner,本人不习惯用逆向工程,都习惯先根据需求创建表,再用代码生成器生成对应的类和页面。
PowerDesigner能提前准备的就是Domain的设定,可以快速带出来相应的字段类型和长度,很方便。
建完表之后,就是生成建表语句,前往MySQL生成。
image.png


准备 · 小程序模板

这边补充一下小程序模板,由于博主开发小程序较多,所以针对小程序也定制了相应的框架,内置常见的工具类。也创建了模板页面,这样即使前端开发工作委托给其他新人前端,也不至于看起来代码质量很差。
下面贴一下页面的模板代码。

/**
 * 美折小驻 - 模板页
 * author:战神刘玉栋
 */
let app = getApp();
let ace = require("../../utils/ace.js");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userObj: {}, //用户信息
  },

  /**
   * 非页面渲染数据
   * 解决:setData 调用都会引起框架处理一些渲染界面相关的工作,一个未绑定在页面的变量意味着与界面渲染无关
   */
  otherData: {
    author: '战神刘玉栋',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    let that = this;

    //获取用户信息
    ace.getUserInfo(function (data) {
      that.setData({
        userObj: data
      }, function () {

        //初始化页面逻辑
        that.initHandle();
      })
    });
  },

  /**
   * 初始化页面逻辑
   */
  initHandle: function () {

    let that = this;
  },
})

外单工作流程

好了,前面大致准备工作做完了,这边分享一下外单的完整流程。
Step1、先接收到意向需求,进行可行性研究,看是否可以接;
Step2、可以接的话,和甲方爸爸沟通具体事项,金额较大的可以签订合同保障(基本保护甲方爸爸),通常先付30%的定金(金额不一定,有的还不给);
Step3、乙方负责人,收到钱后,可以开始组件团队(也可能都是自己一个人),然后分析需求,整理相应文档,这时候可以开始数据库设计了;
Step4、乙方继续生成表,紧接用代码生成器生成代码,然后丢到模板项目中的指定目录,启动调试功能;
Step5、乙方基于模板和生成代码基础上,进行需求完善,全部开发完成后,提出验收;
Step6、验收通过,拿钱走人,开始商议运维阶段怎么配合(通常就免费维护一年,后续按合同额10%另算);

温馨提示:服务器购买、小程序注册等费用要提前商议好,通常这部分不包括在研发费用里面。


总结陈词

上文介绍了接外单的准备工作和工作流程,属于闲聊篇,想要相关文件代码的可以留言交流。
大部分程序猿都是兼职接单,不过要记住接单虽好,但不要占用本职工作的太多时间,不然得不偿失。
后续将持续更新,请多多支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1902800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lspci

【原】Linux之PCIE三种空间解析 PCIe学习笔记——2.PCIe配置空间 PCIE学习(2)PCIE配置空间详解 开发者分享 | 使用 lspci 和 setpci 调试 PCIe 问题 b : 字节 w:word L: 4byte

VSCode远程服务器如何上传下载文件(超方便!)

方法一: 1、在VSCode应用商店安装SFTP插件 2、然后就可以直接把文件拖进VSCode即可,如下图所示: 这里的目录是我远程服务器上的目录,可以直接将要上传的文件直接拖进需要的文件夹 3、如果要从远程服务器上下载文件到本地&#x…

rkmpp移植与测试

一、mpp交叉编译 MPP(Media Process Platform )是Rockchip提供的一款硬件编解码媒体处理软件平台,适用于Rockchip芯片系列。它屏蔽了有关芯片的复杂底层处理,屏蔽了不同芯片的差异,为使用者提供了一组MPI统一接口。如果想达到最好的效果&…

java join与yield方法

join() join() 方法的主要作用是使当前线程(调用 join() 方法的线程)等待目标线程完成执行。当目标线程执行完毕后,当前线程才会继续执行。 代码示例: public class JoinExample {public static void main(String[] args) {Thr…

由于找不到xinput1 3.dll无法继续执行重新安装程序

如果您的计算机提示无法找到xinput1_3.dll文件,这可能表明您的计算机存在问题。在这种情况下,您需要立即对xinput1_3.dll文件进行修复,否则您的某些程序将无法启动。以下是解决无法找到xinput1_3.dll文件的方法。 一、关于xinput1_3.dll文件的…

Splunk Enterprise 中的严重漏洞允许远程执行代码

Splunk 是搜索、监控和分析机器生成大数据的软件领先提供商,为其旗舰产品 Splunk Enterprise 发布了紧急安全更新。 这些更新解决了几个构成重大安全风险的关键漏洞,包括远程代码执行 (RCE) 的可能性。 受影响的版本包括 * 9.0.x、9.1.x 和 9.2.x&…

使用握手信号实现跨时钟域数据传输

目录 描述 输入描述: 输出描述: 参考代码 描述 分别编写一个数据发送模块和一个数据接收模块,模块的时钟信号分别为clk_a,clk_b。两个时钟的频率不相同。数据发送模块循环发送0-7,在每个数据传输完成之后&#xf…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找,那么只能通过翻页的方式,每页10行(外加一行自己)。 爬取效果预览 本脚本爬取了个人排名和高校排名,可以借助WPS或MS Offi…

2024年中国陶瓷轴承用氮化硅粉体市场发展现状及重点竞争企业研究

2024年中国陶瓷轴承用氮化硅粉体市场发展现状及重点竞争企业研究 氮化硅是一种硬度高、结构稳定、热膨胀系数小,抗氧化和抗侵蚀性能好的一种的陶瓷材料,可用于制造高性能氮化硅陶瓷结构件、坩埚涂层等。近年来,伴随着机械制造行业进一步向高精…

计算机网络性能指标概述:速率、带宽、时延等

在计算机网络中,性能指标是衡量网络效率和质量的重要参数。本文将综合三篇关于计算机网络性能指标的文章,详细介绍速率、带宽、吞吐量、时延、时延带宽积、往返时延(RTT) 和利用率的概念及其在网络中的应用。 1. 速率(…

C++之do-while陈述

回圈是用来进行进行重复性的工作,典型的回圈会进行下列三项基本任务 1.控制变数初始设定2. 回圈结束条件测试3. 调整控制变数的值 关键字(keyword) do与while构成C 中回圈的一种,常用于后测式的回圈,意思是回圈会先进行第一轮,然后…

硅纪元应用评测 | 弱智吧大战GPT4o和Claude 3.5 Sonnet

"硅纪元AI应用测评"栏目,深入解析和评测最新的人工智能应用,提供专业见解和实用建议。不论您是AI专家还是科技爱好者,都能找到权威、详尽的测评,帮助您在快速发展的AI领域中做出最佳选择。一起探索AI的真实潜力&#xf…

YOLOv8改进 | 注意力机制 | 增强模型在图像分类和目标检测BAM注意力【小白必备 + 附完整代码】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

华为机试HJ35蛇形矩阵

华为机试HJ35蛇形矩阵 题目: 想法 从题目中得到规律,第一行是每个位置上的等差数列的和(第一个位置是1,第二个位置是12,第三个位置是123,以此类推)。第二行是第一行从第二个位置每个元素减一&…

使用Adobe Acrobat对PDF文档进行数字签名

文章目录 前言一、使用Adobe Acrobat对PDF文档进行数字签名1.使用Adobe Acrobat打开需要进行签名的PDF文档2. 点击【查看更多】3.点击【使用证书】4.点击【数字签名】5.使用鼠标选定一个区域6.选择您需要使用的证书 → 点击【继续】7.点击【签名】8.签名成功 前言 一、使用Ado…

06浅谈大语言模型可调节参数TopP和TopK

浅谈大模型参数TopP和TopK 大语言模型中的temperature、top_p和top_k参数是用来控制模型生成文本时的随机性和创造性的。下面分享一下topP和topK两个参数的意义及逻辑; top K(Top-K Sampling) 作用:只从模型认为最可能的k个词中选…

项目/代码规范与Apifox介绍使用

目录 一、项目规范: (一)项目结构: (二)传送的数据对象体 二、代码规范: (一)数据库命名规范: (二)注释规范: &…

数据库可视化管理工具dbeaver试用及问题处理。

本文记录了在内网离线安装数据库可视化管理工具dbeaver的过程和相关问题处理方法。 一、下载dbeaver https://dbeaver.io/download/ 笔者测试时Windows平台最新版本为:dbeaver-ce-24.1.1-x86_64-setup.exe 二、安装方法 一路“下一步”即可 三、问题处理 1、问…

Python中异步事件触发

1、问题背景 在Python中,我想创建一个由事件生成控制流程的类结构。为此,我做了以下工作: class MyEvent: EventName_FunctionName {}classmethoddef setup(cls, notificationname, functionname):if notificationname in MyEvent.EventN…

PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发(1)— 开发环境搭建 一、前言 二、Ubuntu安装 参考: VMware下Ubuntu18.04虚拟机的安装 三、QEMU安装 下载网站: https://download.qemu.org 下载文件:qemu-4.1.0-rc5.tar.xz 使用如下命令解压: tar …