I can understand telling you not to use break
and continue
if the point is to teach you to think about different ways to solve problems, but saying it’s because “it makes the code harder to read” is bullshit. Readable code flow is important, but if using those makes your code too hard to read, your problem is most likely that you’ve just written shitty code.
To get really into the technical weeds, what break
and continue
boil down to in the compiled machine code is a non-conditional branch instruction. This is just going to move the execution pointer to a different location in memory. Other keywords, such as if
, elif
, and else
, will compile down to conditional branch instructions. Basically the same thing, but they have the added cost of having to evaluate some data to see if the branch should happen at all. You can achieve the same things with both, but the high level code might need to look different.
For instance, if you’re in a loop, continue
will let you skip the rest of the code in the loop to get to the next iteration. Not a huge deal to instead make the entire code block conditional to skip it. However, the break
keyword will let you exit the loop at any point, which is more complicated to deal with. You would have to conditionalize your code block and force the looping condition to something that would stop it on the next iteration. If you ask me, that has the potential to be much more complicated than necessary.
Also, good luck using switch
without any break
s, but I’m guessing that’s not quite what your teacher had in mind.
In short, just go with it for now. Be creative and find a way to make it work to your teacher’s liking, but always try to be aware of different ways you can accomplish a task. Also, I don’t know what language you’re using, but if you’re in C/C++ or C# and you feel like getting really cheeky, it doesn’t sound like she disallowed the use of goto
. It’s kinda like break
with fewer safeguards, so it’s super easy to write broken code with it.
I started out with blue switches years ago and they were obnoxiously loud, so I switched to reds and used those for a long time. Though, I kinda got tired of them and decided to give the Keychron banana switches a try several months ago and I’m absolutely loving them. They have a light tactile feeling, but they’re much quieter than Cherry browns. And a huge bonus is that Keychron keys are hotswappable, so if I get any bad keys or feel like switching to a new type, no having to deal with soldering to replace them.
Wait, are you telling me that business ethics are actually a real thing? I thought somebody made that up as a meme. Every corporate executive I’ve ever worked for has been a borderline, if not full blown, sociopath obsessed with nothing more than getting richer at everyone else’s expense. Maybe they all skipped that class?
I do see a decent amount of activity on it. Full disclaimer, I am not a security expert. I know just enough to be dangerous. But, I see at least a few connection attempts from different IPs about every day. The top 3 countries of origin are China, Russia, and Brazil (based on the reverse DNS, but it’s possible some are using VPNs to hide their origin). My impression is they’re all bots that just go through a list of IP addresses, attempting to connect to the standard ssh port, then guessing the username and password. What I’ve found is they usually go through a list of likely ssh ports until one of them connects. Having the default port open to only the honeypot means they usually establish the connection, then leave it at that, so my real ssh port never gets hit. I kinda think of it like scambaiting, where I’m just wasting time they might otherwise spend trying to break into someone else’s real ssh server.
Could also have been one of the devs who leaked it. Lots of us keep copies of the source for stuff we work on, so they may have figured it’s been long enough that no one would care if it leaked. However, I haven’t looked at it yet, but I imagine it would be most problematic legally if it contained proprietary 3rd party code. Leaking that could land someone in hot water.
In my case, I use a PCI card with an m.2 slot for my OS drive. I lose a PCI slot, but I already had a few to spare.