宠物商店项目_充分利用宠物项目的7个技巧

news/2024/7/10 1:58:30 标签: java, python, vue, 项目管理

宠物商店项目

I’ve started so many side projects. Little or not so little, most of them were focused on one thing: making myself learn something new.

我已经开始了很多副业。 或多或少,他们大多专注于一件事:让自己学到新东西。

Although I’ve taken on several pet projects since I started coding more than seven years ago, year after year, I end up having less and less time to dedicate to them. Being more efficient has become inevitable if I want to keep going.

尽管自从七年前开始写代码以来,我已经从事了几个宠物项目,年复一年,但最终我奉献给他们的时间越来越少。 如果我想继续前进,提高效率变得不可避免。

Building real stuff is definitely the best learning method for me, and during my last side project (a word search game using Flutter), I realized a few patterns that really helped me make the most of it. Hopefully, they will help you too. So, let’s get to them!

构建真正的东西绝对是我最好的学习方法,在我的最后一个项目(使用Flutter进行单词搜索的游戏)中,我意识到一些可以真正帮助我充分利用它的模式。 希望他们也能为您提供帮助。 所以,让我们开始吧!

Note: I’ll use examples from my last endeavor to make my points a bit clearer.

注意:我将使用最后一次尝试中的示例来使我的观点更加清楚。

1.为自己设定目标和限制 (1. Set Goals and Limits for Yourself)

Before you even start coding, decide exactly what features your project is going to have. You want to build a simple HTML + CSS + JS calculator? Fine, what arithmetic operations will it be capable of running? Write that down somewhere.

在甚至开始编码之前,请先确定项目要具备的功能。 您想构建一个简单HTML + CSS + JS计算器吗? 好的,它将能够运行哪些算术运算? 写下来。

Coming up with some sort of deadline is also a great idea, as this forces you to have a long-term goal and assess your progress as you work throughout multiple sessions. It’s easy to get caught up in unimportant details or start adding new unnecessary features after finishing the one you started one or two days earlier. There will always be room for improvement, but this deadline should help you know when it's time to stop.

提出某种截止日期也是一个好主意,因为这会迫使您制定长期目标并评估您在多个会话中的工作进度。 完成一两天前启动的功能后,很容易陷入不重要的细节或开始添加不必要的新功能。 总会有改进的余地,但是这个截止日期应该可以帮助您知道何时该停止。

It can be a Post-it note, the Notion app, or some text file in your machine. The point here is keeping track of your progress, so whatever enables this will work. Come back to this note whenever you work on your project so you know exactly what you are going to do next.

它可以是便利贴, 概念应用程序或计算机中的某些文本文件。 这里的重点是跟踪您的进度,因此可以使此工作正常进行。 每当您在项目上工作时,请回到本说明,以便您确切知道下一步要做什么。

Image for post
Setting a deadline and expected features is great for keeping things in perspective.
设置截止日期和预期功能非常适合使事情保持透视。

2.从草图开始 (2. Start With a Sketch)

Something that can also help is making a low-cost representation of what you want your project to look like if it involves any front-end work. For web applications with a front end or mobile apps, this helps a lot.

如果涉及到任何前端工作,则还可以帮助您低成本地表示项目的外观。 对于具有前端的Web应用程序或移动应用程序,这很有帮助。

Literally just a sketch on paper is what you need, but if you want to have a more concrete, prototype-like representation, you can go for Figma or AdobeXD. You can search for component templates online, and those work well for making a layout quickly without drawing everything from scratch. Drawing everything from scratch will also make your life a bit harder when actually coding it to look the same.

从字面上看,只是需要纸上的草图,但是如果您想要更具体的,类似于原型的表示形式,可以使用Figma或AdobeXD 。 您可以在线搜索组件模板,这些模板可以很好地快速制作布局,而无需从头开始绘制所有内容。 从头开始绘制所有内容也会使实际编码看起来相同时使您的生活更加艰难。

Image for post
Sketches for some app screens. Not sticking to default Cupertino or material components was a bad idea.
一些应用程序屏幕的草图。 不坚持默认的Cupertino或材料组件是一个坏主意。

If there are no visuals involved, it’s a good idea to start modeling your data. If it’s an API, what interface or endpoints is it going to have? What does the output look like? Is it JSON-encoded or just plain text?

如果不涉及视觉效果,则最好开始对数据建模。 如果是API,它将具有什么接口或端点? 输出是什么样的? 是JSON编码还是纯文本?

3.设定一个计划并坚持 (3. Set a Plan and Stick to It)

Now that you know what you want out of your pet project, start thinking about how you are going to get there. Once you have a list of smaller goals or tasks, you won’t waste a second of your future coding sessions thinking of what you should be coding but only how you are coding it. In my opinion, coding and conceptualizing are very difficult to do at the same time.

现在,你知道你想从你的宠物的项目是什么 ,开始你将如何到达那里的思考。 列出较小的目标或任务后,您将不会再浪费一秒钟的时间来思考什么 你应该编码,但只有 您正在编码。 我认为,很难同时进行编码和概念化。

Even small applications can involve a lot of moving pieces to work, so start thinking about the implementation in more concrete terms and split it into parts that are as independent as possible. If you are writing a REST API, this an easy one: Each endpoint can be a small and independent part, although all of them may need some shared core.

即使是小型应用程序,也可能涉及很多需要动工的部分,因此,请从更具体的角度考虑实施,并将其分成尽可能独立的部分。 如果您正在编写REST API,这很简单:每个端点都可以是一个很小的独立部分,尽管它们可能都需要一些共享的内核。

Image for post
Tasks for my word search game — only specific enough for me to have a goal in the next coding session.
我的单词搜索游戏的任务-仅够具体,足以让我在下一个编码会话中有目标。

It’s OK to add items later on as you progress. Just don’t forget to focus on your deadline so you don’t do too much unnecessary work.

以后可以添加项目是可以的。 只是不要忘记关注您的截止日期,这样您就不会做太多不必要的工作。

Remember, there is no need to go down to the smallest details. If you are almost writing code in your planning notes, then you may have gone too far.

请记住,无需细化细节。 如果您几乎要在规划笔记中编写代码,那么您可能已经走得太远了。

4.对您的会话使用时间框 (4. Use Timeboxing for Your Sessions)

Timeboxing is the simple technique of allocating time for an activity and not using any more time than that to work on it.

定时装箱是一种简单的技术,它可以为一项活动分配时间,而不用花费更多的时间来进行一项活动。

On a daily basis, this meant that I would work on my pet project from, say, 8 p.m. to 10 p.m. and no more than that. Regardless of the progress, I would need to stop at 10 p.m. This helped me in two ways. First, my already tired morale after a regular day of 9-to-5 work would get boosted whenever I would see that I was running out of time. Second, this prohibited me from working late into the night with terrible productivity, as I would already be so tired. I did this a lot for this particular word-search game, and I really regret it.

每天,这意味着我将在晚上8点至10点进行我的宠物项目,仅此而已。 无论进展如何,我都需要在晚上10点停下来。这在两个方面帮助了我。 首先,每隔9到5天的常规工作后,我已经疲倦的士气会在每当我看到我快没时间了的时候变得振奋起来。 其次,这使我无法工作到深夜,生产率很差,因为我已经很累了。 对于这个特殊的单词搜索游戏,我做了很多事情,我对此感到非常遗憾。

5.公开。 向人们展示 (5. Make It Public. Show It to People)

Deploying your work somehow is also a great tool for pushing yourself. If you don't, you'll always be one step away from thinking that no matter what you do, no matter the quality of your work, no one is ever going to see it.

以某种方式部署工作也是推动自己前进的好工具。 如果您不这样做,那么无论您做什么工作,无论工作质量如何,都永远不会离开任何一个想法。

Remember that even though this project may be dead simple, you can still use it to show what you are capable of in job interviews or in your personal portfolio. Saying you've done something is nice, but saying, “Yeah, you can see it at <your-pet-project>.com” or “You can download it on the App Store. Here's the link” is way more impressive.

请记住,即使这个项目可能非常简单,您仍然可以使用它来展示您在求职面试或个人投资组合中的能力。 说您做了什么很好,但是说:“是的,您可以在<your-pet-project> .com上看到它”或“您可以在App Store上下载它。 这里的链接”更令人印象深刻。

It doesn't have to be perfect, but make it work well, make it neat, and make it accessible.

它不一定是完美的,但可以使其正常工作,使其整洁并易于访问。

Image for post
My silly game app is on the store! No, it didn’t get 1M downloads, but it’s there and I can show it to anyone! 我的傻游戏应用程序已在商店中! 不,它没有获得1百万的下载量,但它在那里,我可以向任何人展示它!

6.使用版本控制 (6. Use Version Control)

Or some other way of storing your work. If you only leave it on your machine, you will lose it eventually and that is the last thing you want to do.

或其他保存工作的方式。 如果仅将其留在计算机上,最终将丢失它,这是您要做的最后一件事。

It's important to be able to look back on all of those small projects. You'll cringe sometimes, but you'll definitely see how you have improved. With the commit timestamps, you'll be able to see how long you usually take from starting the project to when you stop working on it.

能够回顾所有这些小型项目,这一点很重要。 有时您会畏缩,但是您肯定会看到自己的进步。 使用提交时间戳,您将能够看到从开始项目到停止进行项目通常需要多长时间。

7.管理您的期望 (7. Manage Your Expectations)

Once you start releasing your pet projects into the world, you may start having some mixed expectations. That is because sometimes you may start something just to learn how to do it, and when you release it, you may be expecting people to actually use it.

一旦开始将您的宠物项目发布到世界各地,您可能会开始有一些不同的期望。 那是因为有时候您可能只是为了学习如何做而开始做某事,而当您发布它时,您可能期望人们实际使用它。

Solving real problems for real people will rarely ever meet your need to learn some technology. If you want to actually solve problems for people, you are going to have to do some user research, design thinking, etc. to figure out if you are really on to something. This is not as simple as it seems, and companies don’t hire product managers for no reason.

为真实的人解决实际的问题很少会满足您学习某些技术的需求。 如果您想真正为人们解决问题,则必须进行一些用户研究,设计思考等,才能确定您是否确实在做某事。 这并不像看起来那么简单,而且公司无缘无故地不聘请产品经理。

结语 (Wrapping Up)

All in all, be proud of your side projects. Plan a little before you start. Enjoy the process of building them. Keep them, list them, and show them to the world when you finish them. And when you do finish them, manage your expectations.

总而言之,为您的辅助项目感到自豪。 在开始之前要先计划一下。 享受构建它们的过程。 保留它们,列出它们,并在完成后将它们展示给全世界。 并且当您完成它们时,管理您的期望。

翻译自: https://medium.com/better-programming/7-tips-to-make-the-most-out-of-your-pet-projects-db8ffd49c847

宠物商店项目


http://www.niftyadmin.cn/n/1468337.html

相关文章

0基础学习VR全景平台篇 第55篇:专业版功能-数据统计

使用蛙色VR平台数据统计功能&#xff0c;可以统计分析整个账号下【所有作品】的访问数据&#xff1b; 亦可分析单个作品中【每个场景】的访问数据。 账号数据统计功能位置 单作品数据统计功能位置 一、本功能将用在哪里&#xff1f; 数据统计功能&#xff0c;可实现对作品总访…

妙启动_柴油机正常转动、无异常、喷油正常,就是不能启动,是什么问题?

柴油机正常转动&#xff0c;无异常&#xff0c;喷油正常&#xff0c;就是不能启动。描述的不祥细&#xff0c;是普通柴油机&#xff0c;还是电喷柴油机&#xff0c;是多缸机&#xff0c;还是单缸机。如果是普通柴油机&#xff0c;这个故障很好判断。主要有以下几种原因。1&…

错误500网络访问错误_最常见的网络可访问性错误之一

错误500网络访问错误Web accessibility really matters not only because you are going to drive more traffic to your web or for the moral dilemma but also because according to this recent research which has revealed that “two-thirds of the Internet transactio…

台达plc控制伺服电机编程实例_三菱Q系列PLC控制伺服电机编程实例

新力川伺服电机 / 威纶触摸屏TP6071IP / QD70P8模块/QY42P通讯线TK-Q 编程线USB-QC30R21、伺服电机接线 (1) 驱动器主电路端子名称(2)电源接线方式(有单相&#xff0c;三相&#xff0c;这里采用单相)(3)伺服驱动器面板(4)位置控制模式接线CN3端子CN3端子定义位置控制所需的控…

centos 计算器_centos计算内存CPU正确方法

处理器使用率这里要从/proc/stat中提取四个数据&#xff1a;用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU的利用率使用如下公式来计算。CPU利用率 100 *(user nice system)/(user nice …

数据库质疑和可疑是一样的吗_是时候质疑带回家的测试了

数据库质疑和可疑是一样的吗If you’re in the programming market for over a year, you probably went through it. You went through the recruiting process for a given company and after one round or two of interviews, it is time for your to complete a take-home …

java 前缀匹配_java-命名约定JUnit后缀或前缀Tes

java-命名约定JUnit后缀或前缀Tes被测类MyClass.javaJUnit测试用例名称的替代方案&#xff1a;TestMyClass.javaMyClassTest.java[http://moreunit.sourceforge.net]似乎使用“ Test”作为前缀默认值&#xff0c;但是我看到了这两种用法。 当将整个项目作为eclipse中的单元测试…

java微信握手_【微信开发】1、服务器响应,与微信服务器握手

官方说明按照微信公众平台&#xff0c;第一步微信服务器会按照公众号的设置验证我们自己的服务器&#xff0c;服务器需要做正确响应。官方文档说明如下&#xff1a;开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器&#xff0c;请原样…