I’ve been helping out with interviews recently at Atomic, and one question I tend to ask candidates is: “What does good code look like?” I thought that this would be a softball, a question that any candidate with a love of the craft would breeze through. What I’ve found is that even developers who write really beautiful code often don’t have much of a response to the question. So here’s mine, in four points.
This is the third part of my series on Unwind Segues:
- Unwind Segues in iOS Storyboards
- How to Perform an Unwind Segue Programatically
- Custom Animation for an Unwind Segue
On the first post in this series, someone left a comment asking, “What do you do if you want a custom segue transition for the unwind?” I thought that was a great topic to cover since most people only worry about the transitions going forward on a navigation stack and don’t think about how to transition when you unwind several layers back.
Refactoring is the process of organizing code to make it more readable and maintainable. There are a few steps you can take to refactor your code, if you don’t know where to start, or if you feel overwhelmed here are some ways to start. The goal is code that is easy to read and understand. Read more on Intro to Refactoring: Making Code Easy to Understand in 4 Steps…
How does an operating system determine how much processing time a single process receives? There are a number of fundamental “scheduling policies” that an architect of an operating system may consider implementing: Read more on Understanding Uniprocessor OS Scheduling Policies…
The KISS principle is has been highly touted in software design and development for years and stressed in the realm of Agile software development. Most developers desire a simplistic code base and put some thought into it while designing and implementing code… to an extent.
Under the pressures of real development cycles and needing to deliver under frequently too-short timelines, simplicity sometimes is placed on the back burner and becomes technical debt that frequently comes back to bite us. And of course at the least desired times. Read more on Keeping it Simple… Again and Again…
In a world full of data that seldom follows nice theoretical distributions, the Central Limit Theorem is a beacon of light. Often referred to as the cornerstone of statistics, it is an important concept to understand when performing any type of data analysis. Read more on An Introduction to the Central Limit Theorem…
In more than one project retrospective, I’ve heard things like “We need to slow down so we can refactor more and write better code” and “We need to be more disciplined about writing good unit tests.” Read more on Why You Can’t Just “Do Better” on Code Quality…
In professional software development, version control systems (VCS) are a critical part of our daily routine, because they allow developers to:
- keep an accurate record of the entire history of a project
One benefit of a big platform like iOS is that developers can choose from many tools and technologies. Below are our selections for my current project. Most of them are available via [CocoaPods][cocoapods]. Read more on An iOS Developer’s (Mostly) Open Source Toolchest…
If you’ve done much work with command line tools, you’ve undoubtedly wrestled with dotfiles, those pesky configuration files in your home directory that are hidden from view by having a dot at the beginning of their name. Bash uses a
.bashrc configuration file. Vim uses a
.vimrc file and a
.vim directory for additional scripts. Tmux uses a
.tmux.conf file. Git uses a global
.gitconfig. Untold other tools follow the pattern.