Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
This here is a changing list of ongoing refactorings in central Qt Creator code.
Typically, major refactorings affecting central Qt Creator plugins (Core, ProjectExplorer) do not happen in an all-or-nothing fashion, but start in some place and then trickle through the code base, continuously pushing the borderline between "new" and "old" code, until the whole code base is covered.
Ongoing refactoring are listed here:
Use Utils::QtcProcess instead of QProcess
QtcProcess is a wrapper API similar to QProcess that enables also covers running processes on hosts that are not the local development host.
- Long term, most QProcess uses should be replaced by QtcProcess, most notably anything involving "Tools" like debugger, profiler and build systems. Exceptions are possible for processes that are clearly always bound to the local development machine.
Use Utils::FilePath instead of QStrings for file names and directory names
Utils::FilePath is a wrapper API for a triple of QStrings, a "protocol", a "host" and a "path", enabling us to refer to items that are not bound to the local machine. This is similar to the concept of an URL, but without some of the syntactic and semantic restrictions URLs have.
- Long term, most QString uses for file names should be replaced by Utils::FileName, most notably anything involving "Tools" like debugger, profiler and build systems.
- Q* that classes have implementations that directly or indirectly depend on host functionality cannot be used in this context. This affects
-
- QDir
- QFileInfo
- QFile
- QDirIterator