做最好的自己--大一暑假一个半个月

博主因比赛提前学完Android,老师推荐实习因计划推迟。假期编程学习收获多,用Java做项目达3000行,意识到代码耦合问题。学习了JavaEE、JavaScript等知识,还提及网站安全与优化。博主希望大二用相关技术做项目、写十万行整洁代码。

  这一个半个月,因为要参加比赛,所以在家就一直没有出去找工作。但是,事实上,我们选的项目实在是让我提不起兴趣。我觉得唯一的收获,就是我提前了我的计划,为了比赛,学完了Android,虽然是没有自己做一个小项目,但是起码有了点基础。

  就在几天前,我的老师,说要给我推荐一个实习公司。那里有最新的技术,说看我喜欢编程,想让我走在时代的前端。当时我是高兴坏了的,因为我确实求之不得。我喜欢这种编程的环境,也喜欢学习最新的技术。但是,因为大二我打算上学期学车,并用JavaSE、JavaEE、Android做出几个项目,就说我想假期再去。正好今天选课,我看了一下,把我美好的愿望给打破了。大一下学期我感觉下午都是没课的,因为实验课对我来说不是课,跟我闲的时候干的事情是一样的,只不过是换了个地方而已。而今天一看,感觉课余时间好少。暑假的这一个半月,前一个月因为要学习知识,研究代码,就每天编程5个左右小时。后来因为自己想要做几个项目,就每天编程7、8个小时,有时甚至能每天达到12个小时左右。因为我有时会去“程序师”这种网站看一下,看到有一个人每周实际编码50小时左右。我就觉得自己过去真是比别人差远了。于是就也拿每周编程50个小时来要求自己,实际上,我更偏向于每周编程70个小时。

  这个假期,真的是学到了不少东西。以前只会用java做一些简单的东西。现在我觉得做的也挺复杂了。至少能达到3000行了。现在我觉得其实十万行,几十万行都没有什么,因为只要你能想出来添加什么功能,随便添加一个新的功能,都是几百行代码。这样功能多了,代码也会越来越多。但是,我自己做的那个简单的时间管理器,代码就达到了3000行,在这期间,我就感觉到代码的耦合度太高是一件多么麻烦的事。有时,改某些东西,如果和别的类耦合度太高的话,会特别麻烦,甚至理不清头绪。因为当时做的时候,我也没有建模,只是一直堆砌而已,想起什么功能就往上加,觉得哪里不完善就修改哪里,觉得哪时候需要新的包,新的类的时候就添加。在添加包的时候,我是将图形界面放在一个包中,将业务逻辑放在一个包中,将自己写的工具类放在一个包中,将重写的组件放在另一个包中,但是,因为现在水平不高,这样仍然避免不了代码的耦合。确实是挺烦人的。

  功能添加的越多,就会越多的用到第三方API。我只是用到了几个,就觉得功能太强大了,实在是不明白他们到底是怎么写出来的。现在自己重写组件,也就能明白一些了。记得当时提问了一个问题,有人说需要重写JTextfield这个类,当时我就想,实在太麻烦了吧,脑袋一片空白。现在想想,其实也不是很麻烦。当然,当时我学JAVA图形编程时,觉得那些东西挺麻烦的,就没有认真学,于是就导致重写组件时,有很多地方搞不明白。所以建议各位初学Java的人好好学一下graphics、graphics2D这些类,重写组件时,就需要这些类。有很多东西,以前没有好好学,现在也是用到了才回过头来学习,看了YouTube上的相关的视频,实在是学习了不少。

  这一个半月,学习了JavaEE中的servlet,jsp,以及配置tomcat。因为需要,还顺带着学习了javascript,xml等,温习了HTML。其实这些东西都挺简单,自己看看差不多也就会了。但是经营一个网站的难度还是很大的。当然我也没有经营过,因为我是刚开始学,我打算大二上学期,做完现在这个项目后,就做一个注册网站,专门为我做的这些软件使用。现在,看JavaSE的东西,基本上是不陌生的了,但是看许多东西还是看不懂,就比如说csdn上的很多文章就看不懂。我觉得经营网站的难点,技术上的,就是网站的安全,与优化。当然我自己也不懂,只是愚见而已。

  软件这个东西,从书本上、视频上学到的东西真的是不多,而且从那些东西上学到的只是入门的东西。很多东西,都得自己试试才能知道该怎么做。比如说,半透明的JPanel,这个其实不难实现,但是书本上、视频上不会教,有兴趣的可以去我的博客看看,里面有记载。我会把我遇到的所有的Exception,与重写的Jcomponent,都记录到我的博客中,一方面是为了以后自己在遇见时,不会只是有印象但是不知道是哪里出错了,另一方面是为了方便各位朋友在学习时遇到和我遇到的一样的错误而不知道怎么解决时,来查阅。

  大二上学期,看课程,似乎自己的可以用的时间不多了。但是,我希望自己能尽量保持每天编码至少7小时。说实话,我有点好强,特别是在自己喜欢的东西上。我对软件方面的理论性的东西,不太感兴趣。但是对自己能用到的东西,就非常感兴趣,也非常喜欢。而且,对于我喜欢的东西,只要我觉得不会违反我的人生观,我是会舍得投资的,不管是有多贵。大一下学期,为了能够翻墙,就花800块钱买了个永久账号,但是当时买了之后就有点后悔,因为有点鸡肋,确实是翻墙了,但是访问国内的网站,实在是龟速。但是,暑假里用路由分流的技术,来让它发挥了强大的功能 ——访问国内的网站走国内的路由,访问国外的网站使用VPN。这个东西也不难。网上一搜基本就能搜到,我也只是学习了皮毛。对待自己喜欢的事情上,我就不想看到别人比自己强。因为我觉得我喜欢它,那我就得是第一。我估计不少人看到这会觉得我小心眼,我也觉得我有点。但是我觉得起码对待这件事情,这也不会是坏事,起码能督促自己奋发向上,不是吗?

  临近开学了,跟朋友出去吃饭,找朋友玩,也一直没大正经学习。毕竟我觉得半年见不到了,而他们又是我最好的朋友。现在是30号,再过两天就要开学了,我就想今天和明天玩两天的游戏。说实话,我挺喜欢这个游戏,但是我一直抵制这个游戏,并且瞧不起那些靠游戏挣钱的人。我想一直玩这个游戏,玩两天,然后玩到吐,继续玩,这样差不多能戒掉。但是我回学校也就不会玩这个游戏了,因为毕竟太忙,所以我也就没有这么做,但是这两天一天玩的时间还是挺长的。我现在只希望,回去舍友别玩这个游戏玩的太过火,他们晚上玩到12点,没问题。毕竟,如果我自己编码编到12点的话,敲键盘的声音太响,我也会觉得不好意思。如果他们玩的太过火,我就买个耳机,带上耳机编程。

  下午看了两部电影。本来打算找点美国电影,暴力但不血腥的电影来看,但是发现要不就是惊悚的,要不就是血腥的,要不就是推理的,要不就是爱情片,我都不喜欢。于是就看了第五遍《中国合伙人》。我喜欢这部电影,因为我觉得自己其实和成东青挺像的,都是农村出来的,都有几个想改变世界的至交好友。而且,我在高二那年,也是非常想创业,因为那年,我形成了自己的人生观,价值观。现在也挺想创业,但是资金不足。因为自己是农村的,而且父母是农民,所以有的时候,每次看到和父母工作一样的人,我就会默默悲伤。有时觉得自己这样做某件事实在是枉费父母的养育之恩,尽管可能我当时很累。我有自己的理想,走在路上,在车上,我经常回想起。我也憧憬着那种结婚后家庭和睦,幸福温馨的生活,  婆媳和睦的生活。我非常想要《人在囧途》中的,在剧尾,李成功的那种生活。每次看到那里,都会非常的羡慕。希望自己能在大三上学期结束前,实现自己设定的目标。

  有时觉得自己付出的努力还可以了,但是随便去哪个网站,看到别人写的一篇自己不知所云的文章,或者是别人的经历,就觉得自己真是个废物,算个屁啊。于是还是得爬起来继续前进。

  有太多人的无私帮助,让我特别感激。最感动的那么两次,是第一次自己写一个记事本程序时,那是刚学Java的时候,有个人给我发私信,夸我。倒不是说我有多么虚荣,而是他的话,让我感觉到自己的努力没有白费,编程的路上,永远不会孤独,永远有人支持你。另一次是,前几天,我在StackOverflow上,提问怎样实现半透明的JPanel,因为自己的代码老是有差错。然后一位外国友人就不惜花费他宝贵的时间,一直在指点我,并最终指出了我的问题,还给了我正确的代码。因为这事,我发了一条说说:感谢那些素不相识但是一直给我提供帮助的人。当我解决那个问题时,我感动坏了,因为他是那么的有耐心。一直都是他回答我的问题,而且回答的那么迅速,简直就是实时的。如果能当面说声谢谢,那我真不知道会说多少谢谢。

  我希望大二时,我能熟练的应用JAVASE、javaee、android来做出来几个项目,并且能写出来十万行的代码,并且能保持代码的整洁,降低代码的耦合度。希望大牛不要嘲笑我,我觉得处于编程的每个阶段的人,都有自己的任务。而我的任务,就是做最好的自己,并且努力追赶,直到超越我的偶像。到那时,再向更高的阶段提升,我喜欢它,我就要当第一。

 

   这里没有干货,对不起。只有我自己的编程的随想。

<think>好的,用户想了解如何使用C语言完成一个适合大一学生的项目。首先,我需要考虑大一学生的知识水平,他们可能刚接触变量、数据类型、循环结构、数组、函数等基础概念,指针可能还不熟练。所以项目应该避开复杂的指针操作,尽量用已学的内容。 根据引用[2]提到的,扫雷项目是个不错的选择,因为它涵盖了数组、循环、函数等知识点,而且不需要指针。另外,像学生成绩管理系统、简易计算器这些也是常见入门项目。需要确保项目结构清晰,步骤分解明确,代码示例简单易懂。 接下来,我应该分步骤讲解项目实现,比如先分析项目结构,再列出核心知识点,然后给出代码框架和关键代码示例。同时,要提醒学生注意常见错误,如数组越界、循环条件错误等,这有助于他们调试。 还要考虑用户可能需要相关的练习建议,比如如何扩展功能,或者推荐其他类似项目。根据引用[3]的命名规则,可以在代码示例中展示良好的命名习惯,比如使用下划线命名法,变量名有意义。 最后,生成相关问题,帮助用户进一步深入学习,比如如何添加文件存储功能,或者优化用户界面。这些问题应该基于项目中的知识点,引导他们探索更多C语言的应用。</think>### C语言入门级项目实现指南(适合大一学生) 根据教学实践和编程入门规律,推荐以下三个经典项目,涵盖C语言核心知识点并符合大一学生能力水平[^2][^3]: #### 项目一:简易计算器 **实现步骤:** 1. 项目结构分析 ```text 输入模块 → 运算模块 → 输出模块 ↖ ↖ 错误处理 ←─┘ ``` 2. 核心知识点: - 变量声明(int/float) - 条件判断(switch-case) - 循环控制(while循环) - 函数封装 3. 关键代码示例: ```c #include <stdio.h> float calculate(float a, float b, char operator) { switch(operator) { case '+': return a + b; case '-': return a - b; case '*': return a * b; case '/': if(b != 0) return a / b; else { printf("除数不能为0!\n"); return 0; } default: printf("无效运算符!\n"); return 0; } } int main() { float num1, num2; char op; printf("输入算式(示例:2 + 3):"); scanf("%f %c %f", &num1, &op, &num2); printf("结果:%.2f\n", calculate(num1, num2, op)); return 0; } ``` #### 项目二:学生成绩管理系统 **功能需求分析:** - 成绩录入(数组存储) - 成绩查询(数组遍历) - 平均分计算(循环累加) - 成绩排序(冒泡排序) **数据结构设计:** ```c #define MAX_STUDENT 50 struct Student { char name[20]; int score; }; struct Student students[MAX_STUDENT]; int count = 0; ``` #### 项目三:字符画生成器 **实现思路:** ```text 图像文件 → 灰度处理 → 字符映射 → 输出文本 ``` **核心算法片段:** ```c char get_char(int gray_value) { char chars[] = "@%#*+=-:. "; int index = gray_value * (sizeof(chars)-1) / 255; return chars[index]; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值