[31期] 第一个项目就这样完结了,分享一些感想

2024-06-19 08:38

本文主要是介绍[31期] 第一个项目就这样完结了,分享一些感想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一个项目做完了,不难,都是讲过的知识的综合运用,要想写出更多的功能以及更有效率的代码,就需要你更深厚的编码能力了,这需要平时不断的思考、练习 以及 总结。

由于以前读过 Discuz!的代码,研究了一下它的一些写法,所以在这个项目开头的头两天我都不急着编码,看头身边同学热火朝天地写呀写,我当时确实很淡定。

而实际的软件开发也是不能急进,必须按照规范来做。最开始的一定是数据库的设计工作,当中包含了程序的各种业务逻辑实现所需的数据表和字段,这些都代表什么意思,我们编码之前一定要总结下来,而不是凭空地想象。我知道到产品代码在最开始的运行的时候都是需要初始化各种常量以及变量,以及做一些安全性的判断,所以我在开头两天一直琢磨着这些,也边想边试着写。

无奈自己在来兄弟连之前实在一直也没坚持写代码,所以即便过去有过的思路现在也很模糊,实际上过去也没有很正式很清晰地写过一套程序,所以导致我在思考这些过程中遇到不少坎,有点郁闷。于是先放下一些想法,决定先把数据库的设计搞定。本来老师给我们发了一份数据库的设计表格的,说按照这个设计去做就行了。但我感觉设计得相对简单些,不够接近现实的商城开发。遇到这样的情况,我一般都是向成熟的产品索取灵感和思路,于是在本地安装了 ECShop 2.7.2,这个成熟的商城产品有很多值得学习的地方,我主要是借鉴其数据库设计以及功能上的业务逻辑,研究了一番之后,又折腾了大半天,自己认为可以的数据库终于设计好了。然后又去想我这个项目的写法,考虑到了安全性,还打算在每个文件入口都增加判断标识,个别文件还需要屏蔽搜索引擎抓取等等。想了很多,但归根到底需要的还是一个清晰的思路,诚然我的这些想法都是不错的,借鉴的都是流行的写法和思路,但无奈自己确实理不到一个彻底的思路,这样折腾来折腾去的,就过去了两天了,几乎啥也没干,除了重新设计了数据库之外。

我知道我必须开始了,所以最终我抛弃了之前的大部分想法,从简,先把能实现的想法写出来再逐步完善。然后后来的好多天都是在写后台各个功能,但自己的进度确实比很多同学都慢了。最终我还是在项目验收前完成了老师要求绝大部分功能,确实有没有完成好的,是因为自己的CSS学得比较烂,在编码过程中又因为折腾个别功能耗费多了时间,于是项目进度把握得不够及时,前期耽误了些时间,导致后期开发已经不考虑界面,只实现功能,所以后面的时间需要恶补一下CSS。

这个项目还是比较有收获的,坚持做下来,之前学习过的都用得比较熟了,尽管前期折腾一些想法和数据库花了不少时间,但也因此使得我的数据库设计是整个班最靠近正式产品的(当然也最复杂),尽管很多字段最终都没用上,但我对商城的基本功能了解得比以前深刻多了,日后有时间还希望将这个数据库利用起来,重新写一套更加规范和完整的程序出来。

小结一下吧:

1、限定时间要完成的项目,不使用不清晰的思路和写法,开始写之前一定做好思路梳理和规划,定下每天需要完成的进度。(实际做项目时,如果完成不好或完不成,不仅砸了自己的招牌,还会给别人“不行”的感觉,所以要慎重);
2、在编写过程中可能会有新想法,可以适当调整,但都应该以保证项目完成进度为大前提来做。
3、整理一个业务逻辑,不能光靠想,对于较复杂的业务逻辑,应该用txt或整理逻辑结构图来罗列要点,梳理思路,凭空想象容易乱。

基本上,这个项目要实现的功能都不太难,但要写出质量高的代码就不容易,班里有个大哥自己写了接近40个自定义函数以及三十多个自定义常量,将诸如输出表格、sql查询等常用操作都封装成了通用函数,需要的时候输入几个数据,一个表单就输出来了,减少了重复编码,降低了开发成本,提高了编码效率,写法很主流,具备产品思维,真的值得借鉴,毕竟主流的产品有很多写法都是类似的、成熟的。

就分享这么多吧,期待高老师的课程,相信收获会更多!大家继续加油,坚持下来,不出几个月,人生的轨迹就会被你的努力给重新定位了,想想都兴奋吧,所以,别找借口,把时间都利用起来,多敲代码多思考。

成功,是从你决定改变自己那一刻起,一点一点堆砌起来的,那就从每一天的坚持努力开始吧。与各位兄弟共勉。

最后分享一下我自己用的这个数据库表格吧

原文地址:http://bbs.lampbrother.net/read-htm-tid-98690.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(40) | 评论(0) | 转发(0) |
0

上一篇:[29期] 看完师兄毕业设计做为一个菜鸟的感受

下一篇:[33期] 业精于勤荒于嬉 行成于思毁于随

相关热门文章
  • 毕业五年(续)
  • 毕业五年
  • 职业生涯规划
  • 中国软件开发工程师之痛...
  • 闲置书处理!
  • 大家都是用什么来管理hadoop集...
  • 网站被人挂了吗,添加了些程序...
  • Nginx如何保证不走宕机的那个...
  • 大家谈谈MYSQL客户端和服务器...
  • 以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议

这篇关于[31期] 第一个项目就这样完结了,分享一些感想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.