⚡️使用ChatGPT提升开发者生产力!
除非你住在石头下面,否则你可能听说过关于ChatGPT 🤖和其他LLM的热议。全世界的人们正在利用这些技术的力量,极大提高他们在工作和个人生活中的生产力。作为一个开发者,我已经使用ChatGPT一段时间了,它真正改变了我的生产效率。请允许我分享一些实际的例子,展示ChatGPT如何改变了我的效率。💪✨
编写复杂(或乏味)的代码
当您在考虑多个因素和紧迫的时间表下进行开发时⏳,深入研究细节,尤其是领域特定的细节,可能会分散注意力并阻碍您的进展。保持集中和避免不必要的减速是至关重要的。最近,在开发一个最小可行产品 (MVP) 时,我遇到了一个情况,需要确定输入文件的内容是 ASCII、UTF-8 还是二进制。与其花时间研究 Unicode 和二进制之间的差异,并从头开始创建逻辑,我选择向 ChatGPT 寻求帮助。通过一个简单的提示,我轻松地生成了以下函数来完成手头的任务。以下是 ChatGPT 提供的代码: 💡🤖
#include <iostream>
#include <cstring>
enum class EncodingType {
ASCII,
UTF8,
BINARY
};
EncodingType detectEncoding(const char* data) {
unsigned char* bytes = reinterpret_cast<const unsigned char*>(data);
// Check for BOM (Byte Order Mark) indicating UTF-8
if (bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) {
return EncodingType::UTF8; // BOM detected, assume UTF-8
}
bool containsNonASCII = false;
for (size_t i = 0; i < strlen(data); ++i) {
if (bytes[i] & 0x80) {
containsNonASCII = true;
break;
}
}
if (!containsNonASCII) {
return EncodingType::ASCII; // No non-ASCII characters, assume ASCII
}
// If the data contains non-ASCII characters but not a BOM, assume it's binary
return EncodingType::BINARY;
}
int main() {
const char* asciiText = "This is a sample ASCII text.";
const char* utf8Text = u8"This is a sample UTF-8 encoded text.";
const char* binaryData = "\x41\x42\x43\x44\x45"; // Example binary data
switch (detectEncoding(asciiText)) {
case EncodingType::ASCII:
std::cout << "The data is ASCII encoded." << std::endl;
break;
case EncodingType::UTF8:
std::cout << "The data is UTF-8 encoded." << std::endl;
break;
case EncodingType::BINARY:
std::cout << "The data is binary." << std::endl;
break;
}
switch (detectEncoding(utf8Text)) {
case EncodingType::ASCII:
std::cout << "The data is ASCII encoded." << std::endl;
break;
case EncodingType::UTF8:
std::cout << "The data is UTF-8 encoded." << std::endl;
break;
case EncodingType::BINARY:
std::cout << "The data is binary." << std::endl;
break;
}
switch (detectEncoding(binaryData)) {
case EncodingType::ASCII:
std::cout << "The data is ASCII encoded." << std::endl;
break;
case EncodingType::UTF8:
std::cout << "The data is UTF-8 encoded." << std::endl;
break;
case EncodingType::BINARY:
std::cout << "The data is binary." << std::endl;
break;
}
return 0;
}
如果你有敏锐的眼睛👁️,你可能会注意到这段代码中有一些错误🐛🐜。然而,它作为我的实施的绝佳起点。节省了数小时的努力!
在另一个实例中,当我在为MVP的React组件工作时,我向ChatGPT提供了所需React UI功能的完整要求。令人惊讶的是,ChatGPT毫不费力地生成了完美符合我的规格要求的代码。省下了大量时间和精力。⏰💪💾
编写文档
我知道,我们开发人员讨厌这个😡。但有时候,撰写文档📕对于提升代码的可读性很重要。不用担心,因为你不再需要亲自去做这件事了。只需编写代码,然后让ChatGPT为其添加注释🥳。以下是一个例子。下面代码中的注释是由ChatGPT自动添加的。
// Event handler for changes in appearance settings triggered by user interactions
const onAppearanceSettingChanged = (e: React.ChangeEvent<HTMLInputElement>) => {
// Retrieve the selected appearance option from the changed input element
const selectedOption = e.target.value;
// Check if the selected appearance type is valid
if (!isValidAppearanceType(selectedOption)) {
// Log a warning for unrecognized appearance type and exit the function
logger.warn('Unrecognized appearance selected', selectedOption);
return;
}
// Update the appearance setting in the database and handle the promise
window.dbAPI.updateSetting(DBSettingName.APPEARANCE, selectedOption).then(() => {
// Upon successful database update, update the local state
setAppearance(selectedOption);
// Trigger an event to notify other parts of the application about the appearance setting change
trigger('appearance-setting-changed', null);
});
};
投资组合创建 — 估值即将到来?🤑
这是开发人员如果不是绝对必要的话绝不会承担的任务之一🙈。如果我们不能完全消除它,下一个最佳的方法是加快流程,从而减少所需的时间。以下是一些实验🧪,您可以尝试加速您的投资组合创建过程。
- 生成项目标题/描述:对于每个项目,输入项目宪章和相关文件,并请求ChatGPT为您的项目生成标题和描述。根据是技术还是商业审查,根据需要要求ChatGPT融入相关信息。
- 生成贡献说明:对于每个项目,请将您的任务列表📋(来自JIRA或其他工具)提供给ChatGPT,并要求其生成一份关于您在该项目中完成的工作的摘要。
- 让其令人印象深刻:✨通知ChatGPT有关将评估您的作品集的评审人员,并询问他们可能感兴趣的具体数据或展示方面。例如,如果一位工程经理正在审查您的作品,他们可能更倾向于技术细节。ChatGPT可以为您提供一份相关指标的列表,您可以在文档中包含这些指标。另一方面,如果一位高管正在审查您的作品,ChatGPT可以建议为每个项目融入应该包含的商业指标。根据评审人员的类型,ChatGPT可以自动调整内容,包括标题和描述本身。
- 校对/编辑:真正的专业人士对他们的工作感到自豪🧑💻。你最不愿意看到的就是你的作品因为英文和语法错误在你的作品集中受到了贬低。请让ChatGPT来审查你的文件,校对并修复🔧任何问题,以确保其质量👌。
如果您没有广泛使用ChatGPT,您会错过提高生产力和节省宝贵时间的机会。😢
如果你是一个频繁使用ChatGPT的用户,将其与Marvin配对可以让你的使用体验更上一层楼。Marvin允许你在工作流程中使用ChatGPT。请访问https://getmarvin.ai查看更多信息。
披露:我是 Marvin 的创造者。