Repository Analysis

SDWebImage/SDWebImage

Asynchronous image downloader with cache support as a UIImageView category

1.2 Likely human-written View on GitHub
1.2
Adjusted Score
1.2
Raw Score
100%
Time Factor
2026-04-15
Last Push
25,653
Stars
Objective-C
Language
48,053
Lines of Code
326
Files
53
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 3LOW 50

Pattern Findings

53 matches across 4 categories. Click a row to expand file-level details.

Over-Commented Block49 hits · 49 pts
SeverityFileLineSnippet
LOWWebImage/SDWebImage.h21#import <SDWebImage/SDCallbackQueue.h>
LOWWebImage/SDWebImage.h41#import <SDWebImage/SDWebImagePrefetcher.h>
LOWWebImage/SDWebImage.h61#import <SDWebImage/SDImageGIFCoder.h>
LOWWebImage/SDWebImage.h81#if __has_include(<SDWebImage/NSButton+WebCache.h>)
LOWSDWebImage/Core/SDImageIOAnimatedCoder.m1/*
LOWSDWebImage/Core/SDAnimatedImage.m1/*
LOWSDWebImage/Core/UIImage+Transform.m981
LOWSDWebImage/Core/SDWebImageDownloaderRequestModifier.h61/// @param body HTTP Body.
LOWSDWebImage/Core/SDImageCoderHelper.m1/*
LOWSDWebImage/Core/SDImageCoderHelper.m801 // Now define the size of the rectangle to be used for the
LOWSDWebImage/Core/SDImageCache.m1/*
LOWSDWebImage/Core/SDGraphicsImageRenderer.h61
LOWSDWebImage/Core/SDAnimatedImagePlayer.h41
LOWSDWebImage/Core/SDAnimatedImagePlayer.h61@property (nonatomic, assign) SDAnimatedImagePlaybackMode playbackMode;
LOWSDWebImage/Core/SDWebImageDownloaderResponseModifier.h61/// @param headers HTTP Headers. Case insensitive according to HTTP/1.1(HTTP/2) standard. The headers will override the
LOWSDWebImage/Core/SDWebImageCompat.h21 #define SD_MAC 0
LOWSDWebImage/Core/SDWebImageCompat.h41
LOWSDWebImage/Core/SDWebImageCompat.h61 #endif
LOWSDWebImage/Core/SDWebImageCompat.h81 #define UIImageView WKInterfaceImage
LOWSDWebImage/Core/SDWebImageCompat.h101#pragma clang deprecated(dispatch_main_async_safe, "Use SDCallbackQueue instead")
LOW…clude/SDWebImage/SDWebImageDownloaderRequestModifier.h61/// @param body HTTP Body.
LOWSDWebImage/include/SDWebImage/SDWebImage.h21#import <SDWebImage/SDCallbackQueue.h>
LOWSDWebImage/include/SDWebImage/SDWebImage.h41#import <SDWebImage/SDWebImagePrefetcher.h>
LOWSDWebImage/include/SDWebImage/SDWebImage.h61#import <SDWebImage/SDImageGIFCoder.h>
LOWSDWebImage/include/SDWebImage/SDWebImage.h81#if __has_include(<SDWebImage/NSButton+WebCache.h>)
LOWSDWebImage/include/SDWebImage/SDGraphicsImageRenderer.h61
LOWSDWebImage/include/SDWebImage/SDAnimatedImagePlayer.h41
LOWSDWebImage/include/SDWebImage/SDAnimatedImagePlayer.h61@property (nonatomic, assign) SDAnimatedImagePlaybackMode playbackMode;
LOW…lude/SDWebImage/SDWebImageDownloaderResponseModifier.h61/// @param headers HTTP Headers. Case insensitive according to HTTP/1.1(HTTP/2) standard. The headers will override the
LOWSDWebImage/include/SDWebImage/SDWebImageCompat.h21 #define SD_MAC 0
LOWSDWebImage/include/SDWebImage/SDWebImageCompat.h41
LOWSDWebImage/include/SDWebImage/SDWebImageCompat.h61 #endif
LOWSDWebImage/include/SDWebImage/SDWebImageCompat.h81 #define UIImageView WKInterfaceImage
LOWSDWebImage/include/SDWebImage/SDWebImageCompat.h101#pragma clang deprecated(dispatch_main_async_safe, "Use SDCallbackQueue instead")
LOWSDWebImage/Private/SDInternalMacros.h21#ifndef SD_LOCK_DECLARE
LOWSDWebImage/Private/SDInternalMacros.h41#define SD_LOCK_INIT(lock) lock = OS_UNFAIR_LOCK_INIT
LOWSDWebImage/Private/SDInternalMacros.h61#define SD_UNLOCK(lock) if (@available(iOS 10, tvOS 10, watchOS 3, macOS 10.12, *)) os_unfair_lock_unlock(&lock); \
LOWSDWebImage/Private/SDInternalMacros.h101_Pragma("clang diagnostic pop")
LOWSDWebImage/Private/SDmetamacros.h201#define metamacro_expand_(...) __VA_ARGS__
LOWSDWebImage/Private/SDmetamacros.h221#define metamacro_at13(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, ...) metamacro_head(__VA_ARGS__)
LOWSDWebImage/Private/SDmetamacros.h521
LOWSDWebImage/Private/SDmetamacros.h541#define metamacro_if_eq0_10(...) metamacro_expand_
LOWSDWebImage/Private/SDmetamacros.h561#define metamacro_if_eq9(VALUE) metamacro_if_eq8(metamacro_dec(VALUE))
LOWSDWebImage/Private/SDmetamacros.h581#define metamacro_if_eq_recursive0_3(...) metamacro_expand_
LOWSDWebImage/Private/SDmetamacros.h601#define metamacro_if_eq_recursive2(VALUE) metamacro_if_eq_recursive1(metamacro_dec(VALUE))
LOWSDWebImage/Private/SDmetamacros.h621// metamacro_take expansions
LOWSDWebImage/Private/SDmetamacros.h641#define metamacro_take19(...) metamacro_head(__VA_ARGS__), metamacro_take18(metamacro_tail(__VA_ARGS__))
LOWSDWebImage/Private/SDmetamacros.h661#define metamacro_drop16(...) metamacro_drop15(metamacro_tail(__VA_ARGS__))
LOWSDWebImage/Private/SDImageIOAnimatedCoderInternal.h21// kSDUTTypeWebP seems not defined in public UTI framework, Apple use the hardcode string, we define them :)
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMSDWebImage/Core/SDWebImageManager.h85 * Here is a simple example of how to use SDWebImageManager:
MEDIUMSDWebImage/include/SDWebImage/SDWebImageManager.h85 * Here is a simple example of how to use SDWebImageManager:
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMSDWebImage/Core/SDImageCoderHelper.m807 // band. Therefore we fully utilize all of the pixel data that results
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippet
LOWSDWebImage/Core/SDDiskCache.m379 // File system has file name length limit, we need to check if ext is too long, we don't add it to the filename