javascript-algorithms
javascript-algorithms copied to clipboard
Optimize Caesar Cipher Implementation and Enhance Robustness
Description: The current Caesar cipher implementation works correctly for both encryption and decryption, but there are opportunities for optimization and added functionality:
Optimization: The getCipherMap function unnecessarily clones the charsMap object in every iteration, which can be simplified by directly updating the existing object. Robustness: There are no checks for invalid inputs, such as non-string data types or empty strings. Adding input validation will make the functions more reliable. Preserve Case: The cipher converts all characters to lowercase, losing the original case. Enhancing the logic to preserve the case would improve usability. Suggested Fix:
Optimize the reduce method by removing redundant cloning. Add input validation checks. Implement case-sensitive encryption and decryption.