         )
       end
 
-      def params_defaults do
-        unquote(opts[:default_params]) || @default_params
-      end
-
-      def params_names do
-        Keyword.keys(params_defaults())
+      def params_defaults_fallback do
+        # deprecated - remove module attribute
+        unquote(opts[:default_params])
       end
 
       def run_on_all? do

        end
      end

    quote do
      @behaviour Credo.Check
      @before_compile Credo.Check

      unquote(deprecated_default_params_module_attribute)

      alias Credo.Check
      alias Credo.Check.Params

  @doc false
  defmacro __before_compile__(env) do
    quote do
      # deprecated
      unquote(deprecated_default_params_module_attribute(env))

      def params_defaults do
        # deprecated - remove module attribute
        params_defaults_fallback() || @default_params
      end

      def params_names do
        Keyword.keys(params_defaults())
      end
    end
  end

  # deprecated
  defp deprecated_default_params_module_attribute(env) do
    default_params = Module.get_attribute(env.module, :default_params)

    if is_nil(default_params) do
      quote do
        @default_params []
      end
