Qt开发准则
Qt框架是统信操作系统的主要框架,也是众多开发者的选择。为了避免开发者在系统开发过程中出现各种兼容性问题,因此规定以下开发准则,避免应用产生各种兼容性问题。
不允许使用Qt的任何私有模块
随意使用Qt私有模块,将会导致系统更新后,无法保障接口兼容性。开发者需要自行承担由于使用私有模块导致应用不兼容的风险。使用系统的Qt私有模块的应用,一旦被发现,将会有下架可能。
私有模块检测脚本
开发者可以通过如下脚本检测是否包含私有模块
#!/bin/bash
if [[ $1 == "" ]]; then
echo "Plase set source directory"
exit -1
fi
echo "check \"$1\"..."
find $1 -regex "\(.+\.pro\|.+\.pri\)" | xargs grep -e "QT.*+=.*-private"
qmake=$?
find $1 -name CMakeLists.txt | xargs grep -e "Qt5\\w\+PRIVATE_INCLUDE_DIRS"
cmake=$?
if [[ $qmake == 0 || $cmake == 0 ]]; then
echo "Warning: found Qt private module!!!"
exit 1
fi
exit 0
使用方法如下:
保存脚本为check_qt_private.sh
chmod +x check_qt_private.sh
./check_qt_private.sh ~/projects/qt-project-path
如输出结果中包含:“Warning: found Qt private module!!!”则说明使用到了Qt私有模块,需要移除此项目对私有模块的依赖。否则说明项目未使用到私有模块,则不需要进行任何改动。
每执行一次只能检测一个项目,如需要对多个项目进行检测,可多次执行次脚本,检查每一次的输出内容即可。