小编Chr*_*ris的帖子

编写健壮的"现代"Fortran代码

在一些科学环境中,你经常离不开FORTRAN,因为大多数开发人员只知道这个习语,并且有很多遗留代码和相关经验.坦率地说,高性能编程没有很多其他跨平台选项(C++可以完成任务,但语法,零启动数组和指针与某些人不兼容).

所以,让我们假设一个新项目,必须使用Fortran 90的,但我想建立最先进的软件架构出来的,同时与最新的编译器兼容(英特尔ifort,而且还包括Sun/HP/IBM编译)

所以我想要强加一些众所周知的常识,但在我的环境中还不是标准:

  • 全局变量禁止,没有getos,没有跳转标签implicit none
  • "面向对象编程"(具有数据类型和相关子例程的模块)
  • 模块化/可重用的功能,文档齐全,可重用的库
  • 断言/前提条件/不变量(使用预处理程序语句实现)
  • 所有(大多数)子程序和"对象"的单元测试
  • 一个强烈的"调试模式"(#ifdef DEBUG),带有更多检查和所有可能的英特尔编译器检查(数组边界,子程序接口等)
  • 统一和强制清晰的编码风格,使用代码处理工具助手.

所有这一切的目标是拥有值得信赖,可维护和模块化的代码.然而,在许多遗留代码中,可重用性不是一个重要的目标.

我四处搜寻有关面向对象的Fortran编程契约式引用(断言/前提条件的/ etc.),发现只有丑陋的和过时的文件,通过人与没有大规模参与项目进行语法和文章,和死了的项目.

有关此主题的任何好的URL,建议,参考文件/书籍?

oop fortran scientific-computing assertions fortran90

63
推荐指数
5
解决办法
1万
查看次数

打印类的所有实例

使用Python中的类,如何定义一个函数以函数中定义的格式打印类的每个单个实例?

python class

56
推荐指数
5
解决办法
5万
查看次数

在(GitHub)Markdown中的图像周围流动文本

我有一个狭长的图像,我想在GitHub上的README.md文件的右上角显示.我一直在尝试几种方法来使它正确对齐并且目前有

<p align="right">
  <img src="doc/subpagelist.png" />
</p>
Run Code Online (Sandbox Code Playgroud)

这是因为图像在右侧对齐,但是相当无用,因为Markdown文件中图像下方的所有内容都显示在图像的底部,而不是显示在图像的左侧.

有没有办法让文本在图像周围流动(没有删除标题和段落)?

markdown github

56
推荐指数
5
解决办法
3万
查看次数

AsNoTracking()的全局设置?

原来我相信

context.Configuration.AutoDetectChangesEnabled = false;
Run Code Online (Sandbox Code Playgroud)

会禁用更改跟踪.但不是.目前我需要AsNoTracking()在所有LINQ查询上使用(对于我的只读层).是否有全局设置禁用DbContext上的跟踪?

entity-framework change-tracking

51
推荐指数
3
解决办法
2万
查看次数

Trie vs.后缀树与后缀数组

哪种结构提供最佳性能结果; trie(前缀树),后缀树或后缀数组?还有其他类似的结构吗?这些结构有哪些优秀的Java实现?

编辑:在这种情况下,我想在一个大的名字字典和一大组自然语言文本之间进行字符串匹配,以便识别文本上字典的名称.

java arrays trie data-structures

39
推荐指数
1
解决办法
2万
查看次数

Python元类与类装饰器

Python元类和类装饰器之间的主要区别是什么?有什么我可以用一个而不是另一个吗?

python metaclass decorator

38
推荐指数
1
解决办法
5246
查看次数

带有Doxygen的自定义标签

我想弄清楚是否有办法使用Doxygen创建自定义标签.我确实找到了ALIAS配置文件选项,但这并不能完全满足我的需要.基本上在我的代码中,我希望能够编写类似的东西

/// \req Requirement #322 - blah blah
Run Code Online (Sandbox Code Playgroud)

再有Doxygen的创建列表像它的\bug,并\todo具有此定制标记线命令.Doxygen可以实现吗?

doxygen

37
推荐指数
3
解决办法
2万
查看次数

为什么Entity Framework查询不返回未保存的实体

请考虑以下代码:

var Products_First = (from Entities.Product p in myContext.Product  
                      select p);

Entities.Product newProduct = new Entities.Product();
newProduct.Name = "New Product";
myContext.Products.AddObject(newProduct);

var Products_Again = (from Entities.Product p in myContext.Product  
                      select p);
Run Code Online (Sandbox Code Playgroud)

请注意,此处Products_Again查询时未保存上下文,即myContext.SaveChanges()未调用.

Products_Again包含与...相同数量的产品Products_First.为什么是这样?Product由同一上下文对象添加和跟踪新的.为什么我在新查询结果中看不到新产品?

将新对象添加到上下文后,是否有办法在不保存更改的情况下到达新对象?

entity-framework entity-framework-4

35
推荐指数
1
解决办法
8161
查看次数

关闭HTML5中的标签

在HTML5中,关闭<br>标签仍然合适<br />吗?

这显然也适用于所有其他单个标签.我意识到这实际上并不会影响工作原理,但这里的最佳做法是什么?

someLines of txt <br>            // How you see a lot of people doing it
and then some <br />             // XHTML style! Should I still be doing this? 
ow im not done yet.. <br> </br>  // No one does this right? RIGHT?!
Run Code Online (Sandbox Code Playgroud)

html5

34
推荐指数
2
解决办法
2万
查看次数

如何使用Python创建Mac OS X应用程序?

我想创建一个应该在Windows和Mac上运行的GUI应用程序.为此,我选择了Python.

问题出在Mac OS X上.

有两种工具可以为Mac生成".app":py2app和pyinstaller.

  1. py2app非常好,但它在包中添加了源代码.我不想与最终用户分享代码.
  2. Pyinstaller生成UNIX可执行文件,那么如何在Mac上运行它?我用这个可执行文件创建了一个包,但结果".app"无效.

问题是:

  1. 如何配置py2app以在可执行文件中包含源代码,以便最终用户无法访问我的程序?
  2. 如何将UNIX可执行文件转换为Mac".app"?
  3. 有没有办法用GCC编译Python代码?
  4. 在Windows中很简单,我从Python代码创建了一个"exe"文件,它可以工作.是否可以为Mac创建单个文件"app"?

PS我使用两台电脑(Windows和Mac),Python 2.7,wxPython,py2exe,py2app和pyinstaller.

另外,我检查了这些网站:

python macos wxpython py2app

32
推荐指数
5
解决办法
3万
查看次数