Hacker News new | ask | show | jobs
by nothis 4024 days ago
Wait, you can't auto-rename stuff? I noticed in an older version of XCode (when I still bothered), that there were really basic refactoring tools missing for C++, but I assumed that was just because Apple hates C++. Apple obviously doesn't hate Swift.

I guess Apple just hates refactoring. Why though?

3 comments

Most likely Apple is still working out the internals of the Swift compiler. Refactoring requires a thorough knowledge of code paths and object lifetimes.

Once Swift 2 is nailed down, I'm sure refactoring will follow.

Even in Objective-C, the refactorings available are pretty limited and don't always work. You can do Rename and Extract Method. In a few corner cases, Extract method will break. Forget about extracting a variable or a parameter, of pulling a mtehod up toa superclass. Also, the fact that you have Rename but you can't find usages for a variable of method seems to me jsut lazy or ill-thought.

It is a very odd feeling to miss Eclipse, but back when I worked in XCode, that would frequently be how I felt.

I remember having access to Refactoring in an old Objective-C project, but it was far from "refactoring" - it would have been better named "find-and-replace", considering it substituted some occurrences of the word in question in comments, strings, etc, often with incorrect casing.
> but I assumed that was just because Apple hates C++

Chris Lattner is a bit of a C++ head, no? LLVM is a C++ project...

With that said, yea, refactoring support in Xcode is a drag.

Lattner hasn't had any say in how Xcode's user-facing features work until pretty recently, though.