Unimport هي أداة تحليل ثابت للعثور على الاسم المستعار استيراد غير ضروري.
go get -u github.com/alexkohler/unimport
على غرار أدوات GO STATIC anaylsis الأخرى (مثل GOLINT ، GO VET) ، يمكن استدعاء unimport بأسماء أو أكثر من أسماء الملفات أو الدلائل أو الحزم التي يسمى مسار الاستيراد. unimport يدعم أيضا ... Wildcard.
unimport files/directories/packages
حاليا ، لا يوجد أي علم مدعوم. يمكن إضافة علامة -w في المستقبل لإزالة الأسماء المستعارة تلقائيًا حيثما أمكن ذلك (على غرار علامة GOFMT's -W).
كما هو مذكور في تعليقات مراجعة رمز GO:
تجنب إعادة تسمية الواردات إلا لتجنب تصادم الاسم ؛ يجب ألا تتطلب أسماء الحزم الجيدة إعادة تسمية. في حالة الاصطدام ، تفضل إعادة تسمية الاستيراد المحلي أو الخاص بالمشروع.
ستتحقق هذه الأداة مما إذا كانت هناك حاجة إلى أي أسماء مستعارة للاستيراد (من خلال ضمان وجود تصادم اسم قد يكون موجودًا بدون الاسم المستعار للاستيراد). ستتجاهل هذه الأداة مسارات الاستيراد التي تحتوي على شرطات ونقاط ، لأن هذه الأدوات مفيدة بشكل عام مع استيراد مراجعة محددة. على سبيل المثال ، في gometalinter ، هناك بعض الواردات مثل kingpin "gopkg.in/alecthomas/kingpin.v3-unstable" . هذا هو الاسم المستعار استيراد معقول ولن يتم وضع علامة.
تشغيل unimports على مصدر الذهاب:
$ unimport $GOROOT/src/...
cmd/go/pkg.go:18 unnecessary import alias pathpkg
go/build/build.go:19 unnecessary import alias pathpkg
go/internal/gcimporter/gcimporter.go:23 unnecessary import alias exact
os/pipe_test.go:14 unnecessary import alias osexec
os/os_windows_test.go:10 unnecessary import alias osexec
فيما يلي بعض من أسماء الاسم المستعارة غير الضرورية التي وجدها:
// go/internal/gcimporter/gcimporter.go
import (
"bufio"
"errors"
"fmt"
"go/build"
"go/token"
"io"
"io/ioutil"
"os"
"path/filepath"
"sort"
"strconv"
"strings"
"text/scanner"
exact "go/constant"
"go/types"
)
// os/pipe_test.go.go
import (
"fmt"
"internal/testenv"
"os"
osexec "os/exec"
"os/signal"
"syscall"
"testing"
)سحب طلبات الترحيب!