poverobuosodonati <poverobuosodon...@gmail.com> writes:

> I've documented it accordingly and wrote a test for it here:
> ...
>
> There is now also a "proper" test for 
> `org-babel-csharp-additional-project-flags` and updated documentation 
> for the intended use of this customization:
> ...

Thanks!
Looks like you have addressed all my comments.

Let me do one more iteration through the code:

1. In the readme, you mention `org-babel-csharp-target-framework', but
   there is no such variable in the code. There is 
`org-babel-csharp-target-framework'
2. The value of `org-babel-csharp-target-framework' is hard-coded. Is
   this for a reason? Or maybe you can instead set it automatically, as
   you do in the tests. I do not recall you replying to similar ideas
   from Stefan Nobis in 
https://list.orgmode.org/orgmode/m11pvpt60k....@nobis-it.eu/
3. `org-babel--csharp-default-compile-command' and similar private
   functions should probably be named as
   `org-babel-csharp--default-compile-command' (-- moved after
   org-babel-csharp prefix). This is to emphasize that these functions
   are not a part of org-babel core library.
4. Should `org-babel-csharp-additional-project-flags' be a defcustom?
5. "Construct a csproj file from a list of REFS for the target
   FRAMEWORK." docstring is a bit confusing. After first reading, I got
   an impression that the function will create an actual file on FS, not
   return the contents as string.
6. In #'(lambda (u), #' is redundant
7. (namespace (make-temp-name "obcs"))
   Do you really need to check FS and call `make-temp-name'? Or do you
   just need a unique symbol?
8. (string-search ".dll" full-ref)
   Maybe use `file-name-extension'?
9. (project-name  (make-temp-name "obcs"))
   As the docstring states, `make-temp-name' will only generate truly
   unique file name when the prefix is a full path. So, you probably
   want (make-temp-name (file-name-concat org-babel-temporary-directory "obcs"))
10. In the tests, (org-test-for-executable org-babel-csharp-compiler)
    should go on top of the file. The tests are not evaluated in the
   order they are defined in the file. Instead, the file is evaluated
   (with all its top-level defuns and expressions) first, and then the
   tests defined that way are evaluated. So, your check for
   org-babel-csharp-compiler, if failed, will prevent the whole test
   file from be used anyway.
11. You are using `type-of' a lot. I recommend specific predicates
   instead, like `consp' or `stringp'. It will be slightly more compact.
12. ert--skip-when
    Just (skip-when ...) will work inside `ert-deftest'
13. In `test-ob-csharp/additional-project-flags-are-respected'
    I feel that you overdid lambdas. A simple `dolist' loop would do.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to