Power Editing

This part of the chapter is all about your most important tool as a game developer; your IDE. Whatever you choose, you must be able to manipulate and navigate text effortlessly. This is the basis for all programming you will ever do. Personally, I’m a big fan of Jetbains’ IDE’s since they are basically all Intellij. When you have mastered Intellij, you practically know them all, with some minor differences here and there. But let’s see what the authors have to say in this paragraph.


One Editor

The first section of this paragraph is about learning one editor and learn in very, very well. They start the section of with the following sentence: “We think it is better to know one editor very well, and use it for all editing tasks: code, documentation, memos, system administration, and so on.” I partly agree here since I think this is where the book shows it’s date. Back in the day, simple text editors like textmate, VI and VIM, which are by no means simple but what I mean is that they are text editors, but no IDE’s. IDE’s are far more powerful than text editors since they often include many features that span the entire project directory. Think about all the static analysis your IDE does. When you rename a function, you will see compile errors straight in your IDE. In those text editors, you wont see that. Of course there are far more interesting features nowadays, even in text editors. They can also be extended to death with plugins. The phenomenal success of VS code never seems to stop! A bare metal VS code is basically unusable, but with the right plugins you can deploy code to azure by simply pressing a single button for example. There’s just so much you can do with most editors now that choosing one can be difficult.

So choose one that fits your needs. As I said, I’m a fanboy of JetBrains products because I just memorized the keybinds. I can work really quickly this way. In the book they give the example of moving the cursor around to select things or position it. You can achieve the same thing with just the keyboard, which is far quicker since you don’t have to stop typing.

Andrew and David say that if you practice a lot in one single IDE, the necessary keybinds will be a reflex. It will all be muscle memory. Haha yes, this is so true. How many times have you tried your IDE’s keybinds while typing in MS word or Confluence for example. I know I have! They also mention something interesting and that is to choose an editor that is available cross platform since you can use it everywhere then. They advise for emacs, vi or vim, CriSP or Brief. The latter two I have never used.


Editor Features

Modern IDE’s come with lots and lots of very interesting features. Many of those weren’t available even a couple of years ago. I suppose lots of the modern features were create by means of plugins. I mean, the fact that reSharper for Visual Studio did so well proves my point. As Uncle Bob always puts it so nicely; reSharper makes Visual Studio almost usable, hehe. I think that’s pretty funny, because he’s right. Without reSharper, Visual Studio just lacks the modern refactoring tools anyone should be able to use. Without them, I really feel crippled. I don’t want to manually rename stuff, I mean, c’mon man!

So your IDE needs to be configurable. You must be able to set it to your own preferences. We’ve talked before about how most IDE’s allow you do edit the shit out of the environment. Not just themes, window sizes, fonts but also additional analysis and custom macro’s. Just configuration is not enough either, we really want extensibility and programmability. We really want to make an IDE our own. Luckily, most of this is already done by the plugin gods so we get syntax highlighting, auto-completion, auto-indentation, generative boilerplate code, compilation, debugging and intelli-sense for free, straight out of the box. If that’s not powerful, than what is!?

In the book they say this about syntax highlighting: “A feature such as syntax highlighting may sound like a frivolous extra, but in reality it can be very useful and enhance your productivity.” Haha, I mean, it sounds like there existed some kind of discussion or fight about this. But what modern IDE does not support syntax highlighting. I don’t even think you can turn it off. Well maybe you can, but who does!?



The next section is about productivity and they start off this section with something that sends chills down my spine: “A surprising number of people we’ve met use the Windows notepad utility to edit their source code. This is like using a teaspoon as a shovel — simply typing and using basic mouse-based cut and paste is not enough.” I mean, WTF. Even back in 1999 this can’t have been the way to work. It sounds surreal to me haha. There were far better tools back then like emacs or vi. In the book they give the example about Java’s many import statements. They say that in emacs you can alphabetically order lines with a keybind shortcut. You can’t possibly do that in notepad. Another example they provide is the fact that most editors help streamline common operations. Like when you create a new file, you can select a template, give it a name and it will automatically generate some of its content, like a class file. Notepad can’t do that either. Still WTF!? And the last feature they mention is the auto indenting functionality modern IDE’s provide. This is really important, as we have discussed in our blogs about clean code. Even more so in indent-sensitive languages like Python or F#. Imagine if you have to manually indent all of this… I mean, Notepad, WTF!? I bet notepad is an invention by the great Flying spaghetti monster in the sky to seduce mere mortal programmers to join the cult of the pastafarians and start the summoning ritual.



01010010 01110101 01100010 01100101 01101110

Hey, sorry to bother you but you can subscribe to my blog here.

Never miss a blog post!

You have Successfully Subscribed!